Advertisement
Guest User

Untitled

a guest
Dec 6th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.16 KB | None | 0 0
  1. %3b)
  2. m=1000; %mass must be >0
  3. b=2*1000; %damper
  4. k=40*1000; %spring
  5.  
  6. t0=0; % initial conditions
  7. x0 = 0;
  8. v0 = 0;
  9.  
  10. wn=sqrt(k/m);
  11. zeta=[0.05,0.1,0.25,0.5,0.95];
  12. U=[0:0.01:10];
  13. opts=odeset('MaxStep',0.1);
  14. maxamp=zeros(1,length(U));
  15. maxforce=zeros(1,length(U));
  16.  
  17. for jj=1:length(zeta)
  18.  
  19. for ii=[1:size(U,2)]
  20.  
  21. A=[0,-1;wn^2,2*zeta(jj)*wn];
  22. tspan = [t0 30]; %span in x variable
  23. u0=[x0; v0];
  24. [tarray,uarray] = ode45(@(t,u) -A*u+[0 ;(wn^2*r(U(ii)*t))], tspan, u0(:),opts); %ode45 ODE solver
  25.  
  26.  
  27.  
  28. maxamp(ii)=max(abs(uarray(:,1)));
  29.  
  30.  
  31. % taking the variables
  32.  
  33.  
  34. force=zeros(1,length(tarray));
  35. for j=1:length(tarray)
  36. force(j)=-(k*(uarray(j,1)-r(U(ii)*tarray(j)))+(b*uarray(j,2)));
  37.  
  38.  
  39. end
  40. maxforce(ii)=max(abs(uarray(:,1)));
  41.  
  42.  
  43. end
  44. figure(jj+9)
  45. plot(U,maxamp,'LineWidth',1.2,'DisplayName',"Resonse")
  46. hold on
  47. title("Max amplitude graph 3b)")
  48. xlabel('U')
  49. ylabel('max amplitude')
  50. grid on
  51.  
  52. figure(jj+14)
  53. plot(U,maxforce,'LineWidth',1.2,'DisplayName',"Resonse")
  54. hold on
  55. title("Max force graph 3b)")
  56. xlabel('U')
  57. ylabel('max force')
  58. grid on
  59.  
  60. end
  61. function rx=r(x)
  62. Zr=0.1;
  63. Lr=0.4;
  64. xr=1;
  65. if abs(x-xr)<Lr/2
  66. rx=-Zr;
  67. else
  68. rx=0;
  69. end
  70. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement