function orbit_2_body_trap_10(inter,ic,m1,m2,n,p,name) h=(inter(2)-inter(1))/n; x1=ic(1);vx1=ic(2);y1=ic(3);vy1=ic(4); x2=ic(5);vx2=ic(6);y2=ic(7);vy2=ic(8); y(1,:)=[x1 vx1 y1 vy1 x2 vx2 y2 vy2]; t(1)=inter(1); set(gca,'XLim',[-5 5],'YLim',[-5 5],... 'XTick',[-5 0 5],'YTick',[-5 0 5]); sun_h=animatedline('color','y','Marker','.','markersize',50); sun_t=animatedline('color','k','LineStyle','-'); head=animatedline('color','r','Marker','.','markersize',35); tail=animatedline('color','b','LineStyle','-'); v=VideoWriter(name,'MPEG-4');open(v) for k=1:n/p for i=1:p t(i+1)=t(i)+h; y(i+1,:)=trapstep(t(i),y(i,:),h,m1,m2); end frame=getframe;writeVideo(v,frame); y(1,:)=y(p+1,:);t(1)=t(p+1); clearpoints(head); clearpoints(sun_h); addpoints(head,y(1,1),y(1,3)) addpoints(tail,y(1,1),y(1,3)) addpoints(sun_h,y(1,5),y(1,7)) addpoints(sun_t,y(1,5),y(1,7)) drawnow; end close(v) end function y=trapstep(t,x,h,m1,m2) z1=ydot(t,x,m1,m2); g=x+h*z1; z2=ydot(t+h,g,m1,m2); y=x+h*(z1+z2)/2; end function z=ydot(t,x,m1,m2) g=1; mg1=m1*g; mg2=m2*g; px1=x(1);py1=x(3);vx1=x(2);vy1=x(4); px2=x(5);py2=x(7);vx2=x(6);vy2=x(8); dist=sqrt((px2-px1)^2+(py2-py1)^2); z=zeros(1,8); z(1)=vx1; z(2)=(mg2*(px2-px1))/(dist^3); z(3)=vy1; z(4)=(mg2*(py2-py1))/(dist^3); z(5)=vx2; z(6)=(mg1*(px1-px2))/(dist^3); z(7)=vy2; z(8)=(mg1*(py1-py2))/(dist^3); end
Not enough input arguments. Error in orbit_2_body_trap_10 (line 2) h=(inter(2)-inter(1))/n;