Guest User

Untitled

a guest
Nov 28th, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 2.77 KB | None | 0 0
  1. k2 = 4.66;
  2. k1 = k2;
  3. m1 = 0.0917;
  4. m2 = 0.0765;
  5. number_of_ = 10;
  6. compare = ones(40, 1000001);
  7. n = 100000:100000:1000000;
  8.  
  9.  
  10. A = [0, 1, 0, 0; ((-k1-k2)/m1), 0, (k2/m1), 0; 0, 0, 0, 1; (k2/m2), 0, (-k2/m2), 0];
  11. for j = 1:length(n)
  12.     y = zeros(4, n(j)+1);
  13.     y(:, 1) = [100, 0, 50, 0];
  14.     y_dot = zeros(4, n(j)+1);
  15.     delta_t = 10/n(j);
  16.     xi = 0:(10/n(j)):10;
  17.  
  18. %figure out how to assign these values to a matrix dependent on N
  19.     for i = 2:length(xi)
  20.         y(:, i) = y(:, i-1) + delta_t.*(A*y(:, i-1));
  21. %        y_dot(:, i-1) = A*y(:, i-1);
  22.     end
  23.     compare(1+4*(j-1):4+4*(j-1), 1:length(y)) = y(:,:);
  24.    
  25. end
  26.  
  27.  
  28. subplot(2,1,1);
  29. plot(0:(10/n(1)):10, compare(1, 1:n(1)+1), '--y', 'Linewidth', 1.25);
  30. hold on
  31. plot(0:(10/n(2)):10, compare(5, 1:n(2)+1), '--m', 'Linewidth', 1.25);
  32. hold on
  33. plot(0:(10/n(3)):10, compare(9, 1:n(3)+1), '--c', 'Linewidth', 1.25);
  34. hold on
  35. plot(0:(10/n(4)):10, compare(13, 1:n(4)+1), '--r', 'Linewidth', 1.25);
  36. hold on
  37. plot(0:(10/n(5)):10, compare(17, 1:n(5)+1), '--g', 'Linewidth', 1.25);
  38. hold on
  39. plot(0:(10/n(6)):10, compare(21, 1:n(6)+1), '--b', 'Linewidth', 1.25);
  40. hold on
  41. plot(0:(10/n(7)):10, compare(25, 1:n(7)+1), '--y', 'Linewidth', 1.25);
  42. hold on
  43. plot(0:(10/n(8)):10, compare(29, 1:n(8)+1), '--m', 'Linewidth', 1.25);
  44. hold on
  45. plot(0:(10/n(9)):10, compare(33, 1:n(9)+1), '--c', 'Linewidth', 1.25);
  46. hold on
  47. plot(0:(10/n(10)):10, compare(37, 1:n(10)+1), '--r', 'Linewidth', 1.25);
  48. hold on
  49. legend('N = 100000', 'N = 200000','N = 300000', 'N = 400000', 'N = 500000', 'N = 600000', 'N = 700000', 'N = 800000', 'N = 900000', 'N = 1000000');
  50. title('Approximating position')
  51. xlabel('Time');
  52. ylabel('Position of x1(t)');
  53. xlim([0 10]);
  54. grid on;
  55.  
  56.  
  57. subplot(2,1,2);
  58. plot(0:(10/n(1)):10, compare(3, 1:n(1)+1), '--y', 'Linewidth', 1.25);
  59. hold on;
  60. plot(0:(10/n(2)):10, compare(7, 1:n(2)+1), '--m', 'Linewidth', 1.25);
  61. hold on;
  62. plot(0:(10/n(3)):10, compare(11, 1:n(3)+1), '--c', 'Linewidth', 1.25);
  63. hold on;
  64. plot(0:(10/n(4)):10, compare(15, 1:n(4)+1), '--r', 'Linewidth', 1.25);
  65. hold on;
  66. plot(0:(10/n(5)):10, compare(19, 1:n(5)+1), '--g', 'Linewidth', 1.25);
  67. hold on;
  68. plot(0:(10/n(6)):10, compare(23, 1:n(6)+1), '--b', 'Linewidth', 1.25);
  69. hold on;
  70. plot(0:(10/n(7)):10, compare(27, 1:n(7)+1), '--y', 'Linewidth', 1.25);
  71. hold on;
  72. plot(0:(10/n(8)):10, compare(31, 1:n(8)+1), '--m', 'Linewidth', 1.25);
  73. hold on;
  74. plot(0:(10/n(9)):10, compare(35, 1:n(9)+1), '--c', 'Linewidth', 1.25);
  75. hold on;
  76. plot(0:(10/n(10)):10, compare(39, 1:n(10)+1), '--r', 'Linewidth', 1.25);
  77. hold on;
  78. legend('N = 100000', 'N = 200000','N = 300000', 'N = 400000', 'N = 500000', 'N = 600000', 'N = 700000', 'N = 800000', 'N = 900000', 'N = 1000000');
  79. title('Approximating position')
  80. xlabel('Time');
  81. ylabel('Position of x2(t)');
  82. xlim([0 10]);
  83. grid on;
  84.  
  85. eigen = eig(A)
Advertisement
Add Comment
Please, Sign In to add comment