Guest User

Untitled

a guest
Nov 26th, 2011
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. tt=0;
  2. close all;
  3.  
  4. M0=[1e16 3e14 1e14]';
  5. X0= [0 0;
  6. 100 50;
  7. 200 50]';
  8.  
  9. function retval = pot(x, t)
  10.  
  11. M0=[1e16 3e14 1e14]';
  12. X0= [0 0;
  13. 100 50;
  14. 200 50]';
  15.  
  16. G=6.67e-11;
  17.  
  18. retval=[0 0]';
  19. for l=1:columns(X0)
  20. retval+=G*M0(l)/norm(x-X0(:,l))^2*(X0(:,l)-x)/norm(x-X0(:,l));
  21. end
  22. end
  23.  
  24. #x''=f(x,t), x'(t0)=v_0, x(t0)=x_0; здесь x - это радиус-вектор ракеты.
  25. #
  26. #раскладываем в систему уравнений:
  27. #
  28. #w: это [x, u, y, v]
  29. #x'=u; u'=производная f по x;
  30. #y'=v; v'=производная f по y;
  31.  
  32. function retval = f(w, t)
  33. retval=[];
  34.  
  35. retval(2)=pot(w([1 3]), t)(1);
  36. retval(4)=pot(w([1 3]), t)(2);
  37. retval(1)=w(2);
  38. retval(3)=w(4);
  39. end
  40.  
  41.  
  42. #начальная скорость
  43. v_0=[0 30]';
  44.  
  45. #начальное положение
  46. x_0=[200 0]';
  47.  
  48. w0=[x_0(1) v_0(1) x_0(2) v_0(2)]';
  49.  
  50. t=0:0.005:30;
  51.  
  52. z=lsode("f", w0, t);
  53.  
  54. hold on;
  55. plot(z(:,1), z(:,3));
  56. plot(X0(1,:), X0(2,:), 'bo');
  57. plot(x_0(1), x_0(2), 'r^');
  58.  
Advertisement
Add Comment
Please, Sign In to add comment