Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- % Beräknar maxspänningen och tidskonstanten för ett urladdningsförlopp i en
- % kondensator.
- %Indata är tiden t då spänning U mäts. Utdata är maxspänningen maxVoltage
- %och tidskonstanten timeConstant för urladdningsförlopp i en kondensator.
- % Inmata tid
- t = [0 5 13 24 44 63];
- % Inmata spänning
- U = [15.0 12.0 9.0 6.0 3.0 1.5];
- % Inmata kapacitans och resistans
- C = 7E-12;
- R = 15E6;
- ULog = log(U);
- % Minstakvadratanpassa datan
- [xData, yData] = prepareCurveData(t,ULog);
- linjfit = fit(xData,yData,'poly1');
- coeffvals = coeffvalues(linjfit);
- k = coeffvals(1);
- m = coeffvals(2);
- % Beräkna maxspänning och tidskonstant
- maxVoltage = exp(m);
- timeConstant = -k^-1;
- % Osäkerhetsintervall
- minmax = confint(linjfit,0.68);
- kDelta = abs(minmax(2,1)-minmax(1,1))/2;
- mDelta = abs(minmax(2,2)-minmax(1,2))/2;
- % Beräkna felet för maxspänning och tidskonstant
- maxVoltageDelta = maxVoltage*mDelta;
- timeConstantDelta = timeConstant^2*kDelta;
- % Skriv ut resultatet
- output = ['Maxspänning = ', num2str(maxVoltage),'±',num2str(maxVoltageDelta),' V'];
- disp(output);
- output = ['Tidskonstant = ', num2str(timeConstant),'±',num2str(timeConstantDelta),' s'];
- disp(output);
- output = ['Lutning = ', num2str(k),'±',num2str(kDelta),' '];
- disp(output);
- % Plotta resultatet
- plot(t,ULog,'x');
- hold on;
- plot(t,k*t+m);
- xlabel('Tid [s]');
- ylabel('logU []');
- legend('Datapunkter','Minstakvadratanpassning');
- hold off;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement