Advertisement
cyphric

Untitled

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