Advertisement
cyphric

Untitled

Oct 19th, 2019
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.61 KB | None | 0 0
  1. %Uppgift 2, Filip Johansson och Anton Hagelberg
  2. %Eulers metod - Framåt Uppgift 2A/B
  3. clc; clear all; close all;
  4. k1 = 5300;
  5. k2 = 136000;
  6. vVec = [0;0;0;0];
  7. n = 10000;
  8. L = 1;
  9. v = 65/3.6;
  10. T = (L/v)*30;
  11. h = T/n;    
  12.  
  13. for i = 1:n
  14.     t = (i-1)*h;
  15.     vVec(:,i+1) = vVec(:,i) + h*quartercar(t,vVec(:,i),k1,k2);
  16. end
  17.  
  18. tid = 0:h:T;
  19. figure(1)
  20. plot(tid,vVec(1,:),tid,vVec(2,:))
  21. title('Euler som z1 och z2')
  22. xlabel('tid[s]')
  23. ylabel('förskjutning [m]')
  24. legend('z1','z2');
  25.  
  26.  
  27. %% ODE45-metoden
  28. clc; clear all; close all;
  29. k1 = 5300;
  30. k2 = 136000;
  31. t0 = 0;
  32. v = 65/3.6;
  33. L = 1;
  34. T = (L/v)*30;
  35.  
  36. options = odeset('RelTol',1e-6,'refine', 5);
  37. vVec = [0;0;0;0]';
  38.  
  39. [tVec, yVec] = ode45(@(t,vVec) quartercar(t,vVec,k1,k2),[t0 T],vVec,options);
  40.  
  41. figure(2)
  42. plot(tVec(:,1),yVec(:,1),tVec(:,1),yVec(:,2));
  43.  
  44. delt = zeros();
  45. n = length(tVec);
  46.  
  47. for i = 1:n-1
  48.     delt = [delt, abs(tVec(i) - tVec(i+1))];
  49. end
  50. figure(3)
  51. plot(1:length(delt),delt);
  52.  
  53. %%
  54. %%Jämförelse mellan olika delta T
  55. clc; clear all; close all;
  56. k1 = 5300;
  57. k2 = 136000;
  58. vVec = [0;0;0;0];
  59. L = 1;
  60. v = 65/3.6;
  61. t0 = 0;
  62. T = (L/v)*30;
  63. for j = 1:2
  64.     h = [5e-3, 5e-4];
  65.     n = T/h(j);
  66.  
  67.     for i = 1:n
  68.         t = (i-1)*h(j);
  69.         vVec(:,i+1) = vVec(:,i) + h(j)*quartercar(t,vVec(:,i),k1,k2);
  70.     end
  71.     figure(4)
  72.     tid = 0:h(j):T;
  73.     plot(tid,vVec(1,:),tid,vVec(2,:)); hold on;
  74.  
  75. end
  76.  
  77.  
  78. options = odeset('RelTol',1e-6,'refine', 5);
  79. vVec = [0;0;0;0]';
  80.  
  81. [tVec, yVec] = ode45(@(t,vVec) quartercar(t,vVec,k1,k2),[t0 T],vVec,options);
  82. figure(4)
  83. plot(tVec(:,1),yVec(:,1),tVec(:,1),yVec(:,2));
  84. legend('ode45','5e-3','5e-4');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement