Advertisement
HimikoWerckmeister

Untitled

Mar 24th, 2015
269
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.43 KB | None | 0 0
  1. T = 200;
  2. h = 0.0005;
  3. N = 40000;
  4. QtMatrix = zeros(2,N+1);
  5. PtMatrix = zeros(2,N+1);
  6. %N = 40000;
  7. E = 0.6;
  8. Qprime = @(t) 1*PtMatrix(:,t);
  9. %
  10. %Pprime = @(tstep) (-(1/((QtMatrix(1,tstep)^2+ QtMatrix(2,tstep)^2)^(3/2))))*QtMatrix(:,tstep);
  11. %Pprime = @(tstep) (-(1/((QtMatrix(tstep,1)^2+ QtMatrix(tstep,2)^2)^(3/2))))*QtMatrix(:,tstep);
  12. Pprime = @(s) -(1/((QtMatrix(1,s)^2+QtMatrix(2,s)^2)^(3/2)))*QtMatrix(:,s);
  13. Angular = @(ts) QtMatrix(ts,1)*PtMatrix(ts,2) + QtMatrix(ts,2)*PtMatrix(ts,1);
  14. Hamilton = @(tst) ((PtMatrix(tst,1)^2+PtMatrix(tst,2)^2)/2)-(1/(sqrt((QtMatrix(tst,1)^2)+(QtMatrix(tst,2))^2)));
  15. QtMatrix(1,1) = 1-E;
  16. QtMatrix(2,1) = 0;
  17. PtMatrix(1,1) = 0;
  18. PtMatrix(2,1) = sqrt(1+E/1-E);
  19. t = 0;
  20. Avector = zeros(N+1,1);
  21. Hvector = zeros(N+1,1);
  22.  
  23. %Euler's method part
  24. for i=1:N
  25.    % t = 0+i*h;
  26.    % Ql = Qprime(i);
  27.    %QtMatrix(:,i+1) = QtMatrix(:,i) + h*Qprime(i);
  28.    QtMatrix(:,i+1) = QtMatrix(:,i) + h*1*PtMatrix(:,i);
  29.    PtMatrix(:,i+1) = PtMatrix(:,i) + h*-(1/((QtMatrix(1,i)^2+QtMatrix(2,i)^2)^(3/2)))*QtMatrix(:,i);
  30. end
  31.  
  32. figure;
  33. scatter(PtMatrix(1,:), PtMatrix(2,:),5, 'r', '.')
  34. hold('on');
  35. scatter(QtMatrix(1,:),QtMatrix(2,:),5,'b','.')
  36.  
  37. % for z=1:N+1
  38. %     Avector(z) = Angular(z);
  39. %     Hvector(z) = Hamilton(z);
  40. % end
  41.  
  42. for z=1:N+1
  43.     Avector(z) = QtMatrix(1,z)*PtMatrix(2,z) + QtMatrix(2,z)*PtMatrix(1,z);
  44.     Hvector(z) = ((PtMatrix(1,z)^2+PtMatrix(2,z)^2)/2)-(1/(sqrt((QtMatrix(1,z)^2)+(QtMatrix(2,z))^2)));
  45. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement