2017-05-23 12 views
1

私は飛行機をMatlabに持っています。 飛行中に軌跡のアニメーションを作りたいと思います。 Matlabの場合はanimatedline関数を使用しようとしましたが、ここで取り残されています。私の関数は軸だけを表示し、何も表示しません。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 
+0

を提案し、あなただけの一点をプロットしている:2次元配列、または単に1x4のuu' 'ですか?また、ポイントを追加する前にアニメーション化されたラインハンドルを再作成するので、Figureを作成する場所に配置してください。私はその機能に慣れていないが、多分[comet3](https://www.mathworks.com/help/matlab/ref/comet3.html)があなたのために働くだろう。 –

+0

uuは単なる1x4です。私がh = 'animatedline;'をつけると、私はフィギュアを作成します**未定義の関数または変数 'h'を得ます** 'comet3'は事前にプロットするだけなので'私の軌跡は知られていません。座標は飛行中に入っているからです。 – user8053696

+0

'h = findobj(figure(10)、 'Type'、 'AnimatedLine')'を使います。 'h = animatedline;'は現在ハンドルです。あなたがsimulinkでやっているのであれば、もっと良い方法があるかもしれませんが、私はあまりそれについては知らないのです。 –

答えて

0

あなたはハンドルhを使用してプロットしようとしているが、それは関数呼び出しの終わりに破壊されます。私は以下のソリューション、機能で

% Function 
function trajectory(uu, hLine) 

pn  = uu(1);  % inertial North position 
pe  = uu(2);  % inertial East position 
pd  = uu(3);  % inertial Down position 

x = pe; y = pn; z = -pd; 
addpoints (hLine, x, y, z); 
drawnow 
end 

% script 
figure(10); 
S = 1500; 
view(0,90) 
axis([-S, S, -S, S, -.1, S]); 
grid on 

lineHandle = animatedline('Color','r','LineWidth',3); 

for i = 1:nPoints 
    % replace this with your value 
    currentValue = 1000*rand(1, 4); 
    trajectory(currentValue, lineHandle); 
end 
+0

ありがとうございますが、軌跡はあらかじめ不明ですが、Simulinkモデルから入っており、飛行状態によって変わることがあります。 – user8053696

+0

@ user8053696、編集された答えをご覧ください。あなたのシミュレーションに基づいて 'nPoints'と' currentValue'を置き換えます。 – kedarps

+0

なぜスクリプトが機能から分離されているのか分かりません。説明できますか?また、この機能は軌道をリアルタイムで描くでしょうか?すべての点を取得した後にのみ、この関数が軌道を描くように修正しますか? – user8053696

関連する問題