Поэтому я, по сути, хочу построить график изменения траектории, когда я выполняю маневр, используя уравнения Клохесси Уилтшира для преследования цели. У меня есть цикл for на 10 000 секунд, и я хотел бы рассчитать каждое значение r(t) при прохождении цикла, а затем построить его. Кто-нибудь знает, как это будет сделано? Я могу опубликовать код, если хотите.
Быстрый взлом:
close all
n=0.00113;
phi_rr = @(t) [4-3*cos(n*t) 0 0; 6*(sin(n*t)-n*t) 1 0; 0 0 cos(n*t)];
phi_rv = @(t) [1/n*sin(n*t) 2/n*(1-cos(n*t)) 0; 2/n*(cos(n*t)-1) 1/n*(4*sin(n*t)-3*n*t) 0; 0 0 1/n*sin(n*t)];
r_0 = [100;0;0];
v_0 = [-1;-.115;0];
T=0:10:2000;
% plot red circle at origin
plot3(0,0,0,'ro')
hold on
% start loop
for t=T
% display 50% progres
if t==T(floor(end/2))
disp('50 % done');
end
r=phi_rr(t)*r_0 + phi_rv(t)*v_0;
plot3(r(1),r(2),r(3),'k.');
end
rotate3d
xlabel('x'), ylabel('y'), zlabel('z')
axis equal
grid on
hold off
Согласно википедии и этому , ось x направлена радиально от центра тяжести к цели, ось y указывает в направлении движения цели, а ось z просто перпендикулярна предыдущей (правосторонняя система). Итак, при начальных значениях, приведенных в качестве примера выше, траектория выглядит так:
Вид относительно цели (красный кружок), т.е. как цель видит движение преследователя.
Это означает, что преследователь начинает на расстоянии 100 метров радиально наружу от положения цели и со скоростью -1 м/с радиально внутрь и -11,5 см/с по касательной назад относительно цели.
Преследователь поражает цель с ненулевой скоростью. Таким образом, чтобы сделать его более реалистичным, вам придется выполнить многоэтапную симуляцию с последующим уменьшением скорости преследователя.
Харви Раэль
Космонавт на каждый день
Харви Раэль