Advertisement
mar1985

Untitled

Nov 15th, 2019
326
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.06 KB | None | 0 0
  1. function Marcin_Piasecki_cz3
  2. parametry = [1 2 3 4 5];
  3. while 1
  4. nr=input('Podaj numer wymuszenia [1, 2, 3, 4, 5]');
  5. As = ismember(nr,parametry);
  6. if As
  7. break;
  8. end
  9. end
  10. if nr==1
  11. wykres(1e3,1e3,0.032e-6,0.032e-6,0,10);
  12. elseif nr==2
  13. wykres(1,1.14963e4,0.032e-6,0.032e-10,0,10000);
  14. elseif nr==3
  15. wykres(1,1e3,0.032e-6,0.032e-6,0,10000);
  16. elseif nr==4
  17. wykres(1,1e4,0.032e-6,0.032e-10,0,10000);
  18. elseif nr==5
  19. wykres(1,1e5,0.032e-6,0.032e-6,0,1000);
  20. end
  21. end
  22. function wykres(R1,R2,C1,C2,fmin,fmax)
  23. n = 1000;
  24. G = [];
  25. f = [];
  26. h = (fmax-fmin)/n;
  27. f = fmin:h:fmax;
  28. fr = [];
  29. db =1;
  30. for i=1:n+1
  31. G(i) = g1(R1,R2,C1,C2,f(i));
  32. if G(i)>-3.047 & G(i)<-2.8
  33. db = i;
  34. end
  35. end
  36. for i=1:n+1
  37. fr(i) = f(db);
  38. end
  39. figure
  40. semilogx(f,G,fr,G);
  41. title('Wykres 5')
  42. legend('F(x)');
  43. xlabel("f(Hz)");
  44. ylabel("y(x)");
  45. end
  46. function [result] = g1(R1,R2,C1,C2,x)
  47. result = 20*log10(abs(1/(R1*R2*C1*C2)/((j*2*pi*x)^2+(j*2*pi*x)*(1/(R1*C1)+1/(R2*C1*R2*C2))+1/(R1*R2*C1*C2))));
  48. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement