Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download

All published worksheets from http://sagenb.org

Views: 168756
Image: ubuntu2004
#Parameter var("R1,R2,R3,R4,R5,UREF,UCC,UI,ADC") #Übertragungsfunktion BIT0=ADC/UCC*(UI*((R2*R3)/(R2+R3))/(R1+((R2*R3)/(R2+R3)))+UCC*(((R1*R3)/(R1+R3))/(((R1*R3)/(R1+R3))+R2))); BIT=BIT0.subs(UCC=UREF*(1+(R5/R4))); #Partielle Ableitungen dfR1=diff(BIT,R1); dfR2=diff(BIT,R2); dfR3=diff(BIT,R3); dfR4=diff(BIT,R4); dfR5=diff(BIT,R5); dfUREF=diff(BIT,UREF); dfUI=diff(BIT,UI); dfADC=diff(BIT,ADC); #gewählte Parameterwerte R1=20000; R2=16500; R3=93100; R4=240; R5=390; ADC=2^10; UREF=1.25; UCC=UREF*(1+(R5/R4));
#Parameter eingesetzt in die Ableitungen dfR1V=dfR1.subs(R1=20000,R2=16500,R3=93100,R4=240,R5=390,UREF=1.25,ADC=2^10); dfR2V=dfR2.subs(R1=20000,R2=16500,R3=93100,R4=240,R5=390,UREF=1.25,ADC=2^10); dfR3V=dfR3.subs(R1=20000,R2=16500,R3=93100,R4=240,R5=390,UREF=1.25,ADC=2^10); dfR4V=dfR4.subs(R1=20000,R2=16500,R3=93100,R4=240,R5=390,UREF=1.25,ADC=2^10); dfR5V=dfR5.subs(R1=20000,R2=16500,R3=93100,R4=240,R5=390,UREF=1.25,ADC=2^10); dfUIV=dfUI.subs(R1=20000,R2=16500,R3=93100,R4=240,R5=390,UREF=1.25,ADC=2^10); dfADCV=dfADC.subs(R1=20000,R2=16500,R3=93100,R4=240,R5=390,UREF=1.25,ADC=2^10); dfUREFV=dfUREF.subs(R1=20000,R2=16500,R3=93100,R4=240,R5=390,UREF=1.25,ADC=2^10); #Toleranzen der ausgewählten Bauelemente deltaR1=R1*0.001; deltaR2=R2*0.001; deltaR3=R3*0.01; deltaR4=R4*0.01; deltaR5=R5*0.01; deltaUI=4*0.01; deltaADC=4; deltaUREF=1.25-1.225;
#Ableitungen in Abhängigkeit der Eingangsspannung n=1# für mehr Punkte UIn=x # x entspricht der internen Laufvariable dfR1VVec=dfR1V.subs(UI=UIn/n); dfR2VVec=dfR2V.subs(UI=UIn/n); dfR3VVec=dfR3V.subs(UI=UIn/n); dfR4VVec=dfR4V.subs(UI=UIn/n); dfR5VVec=dfR5V.subs(UI=UIn/n); dfUIVVec= dfUIV.subs(UI=UIn/n); dfADCVVec=dfADCV.subs(UI=UIn/n); dfUREFVVec=dfUREFV.subs(UI=UIn/n);
#Absoluter maximaler Fehler in % delta=100/ADC*(abs(dfR1VVec*deltaR1)+abs(dfR2VVec*deltaR2)+abs(dfR3VVec*deltaR3)+abs(dfR4VVec*deltaR4)+abs(dfR5VVec*deltaR5)+abs(dfUIVVec*deltaUI)+abs(dfADCVVec*deltaADC)+abs(dfUREFVVec*deltaUREF));
# doku und Plot datei = open("EmpfindlichkeitsanalyseStromerfassung.tex", 'w') datei.write(latex(BIT)) datei.write("\n") datei.write("\n") datei.write("\n") datei.write(latex(delta)) datei.close() d=plot (delta,-4,4, color='blue') d.axes_labels(['UI /V','delta /%']) d.show
<bound method Graphics.show of >