Advertisement
Guest User

Kondensator_urladdning

a guest
Apr 24th, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.43 KB | None | 0 0
  1. % Beräknar maxspänningen och tidskonstanten för ett urladdningsförlopp i en
  2. % kondensator.
  3.  
  4. %Indata är tiden t då spänning U mäts. Utdata är maxspänningen maxVoltage
  5. %och tidskonstanten timeConstant för urladdningsförlopp i en kondensator.
  6.  
  7. % Inmata tid
  8. t = [0 5 13 24 44 63];
  9. % Inmata spänning
  10. U = [15.0 12.0 9.0 6.0 3.0 1.5];
  11. % Inmata kapacitans och resistans
  12. C = 7E-12;
  13. R = 15E6;
  14.  
  15. ULog = log(U);
  16.  
  17. % Minstakvadratanpassa datan
  18. [xData, yData] = prepareCurveData(t,ULog);
  19. linjfit = fit(xData,yData,'poly1');
  20. coeffvals = coeffvalues(linjfit);
  21. k = coeffvals(1);
  22. m = coeffvals(2);
  23.  
  24. % Beräkna maxspänning och tidskonstant
  25. maxVoltage = exp(m);
  26. timeConstant = -k^-1;
  27.  
  28. % Osäkerhetsintervall
  29. minmax = confint(linjfit,0.68);
  30. kDelta = abs(minmax(2,1)-minmax(1,1))/2;
  31. mDelta = abs(minmax(2,2)-minmax(1,2))/2;
  32.  
  33. % Beräkna felet för maxspänning och tidskonstant
  34. maxVoltageDelta = maxVoltage*mDelta;
  35. timeConstantDelta = timeConstant^2*kDelta;
  36.  
  37. % Skriv ut resultatet
  38. output = ['Maxspänning = ', num2str(maxVoltage),'±',num2str(maxVoltageDelta),' V'];
  39. disp(output);
  40. output = ['Tidskonstant = ', num2str(timeConstant),'±',num2str(timeConstantDelta),' s'];
  41. disp(output);
  42. output = ['Lutning = ', num2str(k),'±',num2str(kDelta),' '];
  43. disp(output);
  44.  
  45. % Plotta resultatet
  46. plot(t,ULog,'x');
  47. hold on;
  48. plot(t,k*t+m);
  49. xlabel('Tid [s]');
  50. ylabel('logU []');
  51. legend('Datapunkter','Minstakvadratanpassning');
  52. hold off;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement