我有一個在Matlab飛行的飛機。 我想在飛行過程中製作其軌跡動畫,就像它在後面留下痕跡一樣。 我試圖使用animatedline
函數如果Matlab,但我只是卡在這裏。我的功能只顯示座標軸,僅此而已。如何在Matlab 2015b的飛行過程中製作飛機航跡動畫?
飛機座標正在從Simulink模型飛行期間進入。 請幫幫我!
function trajectory(uu)
pn = uu(1); % inertial North position
pe = uu(2); % inertial East position
pd = uu(3); % inertial Down position
t = uu(4); % time
if t==0,
figure(10), clf
S = 1500;
view(0,90)
axis([-S,S,-S,S,-.1, S]);
grid on
drawnow
else
h = animatedline;
x=pe, y=pn; z=-pd;
addpoints (h, x, y, z);
drawnow
end
在功能,你只是繪製一個點:是'uu'二維陣列,或只是1×4?你也可以在添加點之前重新創建動畫線條句柄,所以放在創建圖形的位置,我想。我對這個函數並不熟悉,但是[comet3](https://www.mathworks.com/help/matlab/ref/comet3.html)可以幫你。 –
'uu'只是1x4。當我把h ='animatedline;'我在那裏創建圖形時,我得到了**未定義函數或變量'h'**我不確定如何使用'comet3'來實現它,因爲'comet3'只能提前繪圖我的軌跡是未知的,因爲在飛行過程中座標正在輸入。 – user8053696
所以要找到句柄'h',你可以使用'h = findobj(圖(10),'Type','AnimatedLine')'',其中'h = animatedline;'是當前的。雖然如果你是用simulink做的話,可能會有更好的方法,我對此不太瞭解。 –