Advertisement
mar1985

proj4

Nov 11th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.81 KB | None | 0 0
  1. function MN_PIASECKI
  2.  
  3. nr=input('Wymuszenie (1, 2, 3, 4, 5, 6, 7) ');
  4. while (nr>7 | mod(nr,1)~=0 | nr<1)
  5. disp('Zly numer wymuszenia');
  6. nr=input('Wymuszenie (1, 2, 3, 4, 5, 6, 7) ');
  7. end
  8.  
  9. t0=0;%s%
  10. tk=0.06;%s%
  11. R1=1000 %Ohm%
  12. C1=0.000000032;%F%
  13. R2=1000 %Ohm%
  14. C2=0.000000032;%F%
  15. RL=1000 %Ohm%
  16.  
  17. u10=0;
  18. u20=0;
  19. il0=0;
  20.  
  21. n=5000;
  22. h=(tk-t0)/n;
  23.  
  24. u1=[];
  25. u2=[];
  26. il=[];
  27.  
  28. u1(1)=u10;
  29. u2(1)=u20;
  30. il(1)=il0;
  31.  
  32. t=t0:h:tk;
  33.  
  34. for i=1:n
  35. u1(i+1)=u1(i)+h*fu1(t(i),u1(i),u2(i),R1,C1,R2,C2,RL,nr);
  36. u2(i+1)=u2(i)+h*fu2(t(i),u1(i),u2(i),R1,C1,R2,C2,RL,nr);
  37. il(i+1)=il(i)+h*fi(t(i),u2(i),il(i),R1,C1,R2,C2,RL,nr);
  38. end
  39.  
  40. s=0;
  41. for i=0:n
  42. if i==0
  43. s=s+fc(il(i+1),u2(i+1),u1(i+1),RL);
  44. elseif i==n
  45. s=s+fc(il(i+1),u2(i+1),u1(i+1),RL);
  46. elseif mod(i,2)==0
  47. s=s+4*fc(il(i+1),u2(i+1),u1(i+1),RL);
  48. elseif mod(i,2)==1
  49. s=s+2*fc(il(i+1),u2(i+1),u1(i+1),RL);
  50. end
  51.  
  52. end
  53.  
  54. P=1000*(h/3)*s;
  55. wynik=['P = ',num2str(P)];
  56. disp(wynik);
  57.  
  58. end
  59.  
  60.  
  61. function [wymuszenie]=E(t,nr)
  62. if nr==1
  63. wymuszenie=2;
  64. elseif nr==2
  65. wymuszenie=sin(2*pi*50*t);
  66. elseif nr==3
  67. wymuszenie=sin(2*pi*600*t);
  68. elseif nr==4
  69. wymuszenie=sin(2*pi*1750*t);
  70. elseif nr==5
  71. wymuszenie=sin(2*pi*12000*t);
  72. elseif nr==6
  73. wymuszenie=sin(2*pi*21000*t);
  74. elseif nr==7
  75. if mod(10000*t,5)<(0.5/2)
  76. wymuszenie=1;
  77. elseif mod(10000*t,5)>=(0.5/2)
  78. wymuszenie=0;
  79. end
  80. end
  81. end
  82.  
  83. function [du1]=fu1(t,u1,u2,R1,C1,R2,C2,RL,nr)
  84. du1=(1/(C1*R1))*(E(t,nr)-(u1-u2));
  85. end
  86.  
  87. function [du2]=fu2(t,u1,u2,R1,C1,R2,C2,RL,nr)
  88. du2=(1/C2)*(((u1-u2)/R2)-(u2/RL));
  89. end
  90.  
  91. function [dil]=fi(t,u1,u2,il,R1,C1,R2,C2,RL,nr)
  92. dil=u2/RL;
  93. end
  94.  
  95. function [int]=fc(il,u1,u2,RL,R2)
  96. int=(u2*u2)/RL;
  97. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement