2017-12-24 8 views
0

저는 matlab에서 궤도 전파 자에 대한 저의 연구를 보았습니다. 이제 주전자의 도움으로 궤도를 시뮬레이션하려고합니다. 누군가이 MATLAB에 플로팅 오류가 있습니까?

tspan=[0 :860]; 

Position and velocity 
y0(1,1)= 743322.3616 ; 
y0(2,1)= -6346021.219 ; 
y0(3,1)= -3394131.349 ; 
y0(4,1)= 5142.38067; 
y0(5,1)= 4487.44895 ; 
y0(6,1)= -7264.00872; 

%%%% Mass(kg) /surface(m^2) 

m = 217 ; %320; 
A = 1.2; %8; 

%%%% RK4 

h=1; 
y = zeros(6, tspan(end)/h); 
y(:,1) = y0; 

for i=1:1:(tspan(end)/h) 

H=sqrt(y(1,i)^2+y(2,i)^2+y(3,i)^2); 
k_1 = proiectia(tspan(i), y(:,i), H, m, A, y(4:6, i)); 
k1=k_1; 
k_2 = proiectia(tspan(i)+0.5*h, y(:,i)+0.5*h*k_1, H, m, A, y(4:6, i)); 
k2=k_2; 
k_3 = proiectia((tspan(i)+0.5*h), (y(:,i)+0.5*h*k_2), H, m, A, y(4:6, i)); 
k3=k_3; 
k_4 = proiectia((tspan(i)+h),(y(:,i)+k_3*h), H, m, A, y(4:6, i)); 
k4=k_4; 

y(:,i+1) = (y(:,i) + (1/6)*(k1+2*k2+2*k3+k4)*h); 
plot3(y(1,:),y(2,:),y(3,:)); 
drawnow 

end 

enter image description here

궤도

잘 설명하지만, 점 (x, y, z)은 여기서 0 내지 여분의 선 그리기 유지. 모든 값이 표현 된 후, 0부터의 선은 사라지고 곡선 (궤도) 만 남습니다. 누구든지 Runge Kutta 루프에있는 동안 왜 0에서 그 라인을 그릴 지 어떤 ideea가 있습니까?

+0

이 코드를 들여하십시오,이 방법을 읽기 어렵다. –

+0

내 대답은 내 생각에 [다른 질문] (https://stackoverflow.com/questions/47916264/does-anybody-know-how-should-i-use-animatedline-in-order-to-draw-me- an-orbit-imm)도이 문제를 해결할 수 있습니다. – EBH

답변

1

제로가 많이 포함 된 벡터를 플로팅하고 있습니다. 따라서 플롯 된 선은 (0,0,0)에서 끝납니다.

는 0을하려하지 않으려 :

plot3(y(1,1:i+1),y(2,,1:i+1),y(3,,1:i+1));