Advertisement
Randomsurpriseguy

Blatt6_erste

May 27th, 2020
1,441
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.25 KB | None | 0 0
  1. function r_mat = test2(y0,t_vec)
  2.   h=t_vec(2)-t_vec(1);
  3.   r_mat= zeros(length(y0),length(t_vec));
  4.   r_mat(:,1)=y0;
  5.   for i=2:length(t_vec)
  6.    k2=r_mat(:,i-1)+h*2/3*f(t_vec(i-1),r_mat(:,i-1));
  7.    k3=r_mat(:,i-1)+h*2/3*f(t_vec(i-1)+2/3*h,k2);
  8.    r_mat(:,i)=r_mat(:,i-1) +0.25*h*f(t_vec(i-1),r_mat(:,i-1))+0.375*h*f(t_vec(i-1)+2/3*h,k2)+0.375*h*f(t_vec(i-1)+2/3*h,k3);
  9.   endfor
  10.  
  11.  
  12. endfunction
  13.  
  14.  
  15.  
  16. function z = f(t,y)
  17.   m1=1;
  18.   m2=10;
  19.   m3=10;
  20.  
  21.   a1=m2/(norm(y(4:6)-y(1:3))^3);
  22.   b1=m3/(norm(y(7:9)-y(1:3))^3);
  23.  
  24.   a2=m2/(norm(y(1:3)-y(4:6))^3);
  25.   b2=m3/(norm(y(7:9)-y(4:6))^3);
  26.  
  27.   a3=m2/(norm(y(1:3)-y(7:9))^3);
  28.   b3=m3/(norm(y(4:6)-y(7:9))^3);
  29.  
  30.   A=zeros(length(y),length(y));
  31.   A(1:9,10:18)=eye(9);
  32.   A(10:12,1:3)=-(a1+b1)*eye(3);
  33.   A(10:12,4:6)=(a1)*eye(3);
  34.   A(10:12,7:9)=(b1)*eye(3);
  35.  
  36.   A(13:15,4:6)=-(a2+b2)*eye(3);
  37.   A(13:15,1:3)=(a2)*eye(3);
  38.   A(13:15,7:9)=(b2)*eye(3);
  39.  
  40.   A(16:18,7:9)=-(a3+b3)*eye(3);
  41.   A(16:18,1:3)=(a3)*eye(3);
  42.   A(16:18,4:6)=(b3)*eye(3);
  43.   A;
  44.  
  45.   z= A*y;
  46.  
  47. endfunction
  48.  
  49. %{
  50. Startvektor= [1 0 0 0 1 0 -1 0 0 0 -1 0 0 0 0 0 0 1].';
  51. test2(Startvektor,[0:0.01:1])
  52. plot3(ans(1,:),ans(2,:),ans(3,:),'color','r',ans(4,:),ans(5,:),ans(6,:),'color','g',ans(7,:),ans(8,:),ans(9,:),'color','b')
  53. %}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement