2016-08-30 27 views
14

MATLAB 2016aはLive Scriptsを導入し、スクリプトの隣にプロット出力を表示することができます。何とかアニメーションを表示することは可能ですか?例えば、定期的なスクリプトで次のコードは、いくつかの点をプロットし、その後axesを回転させる:アニメーション付きライブスクリプト

x = rand(10, 3); 
plot3(x(:, 1), x(:, 2), x(:, 3), 'o') 
for ii = 1:360 
    camorbit(1, 10*cos(ii/90*pi)*pi/45) 
    drawnow 
    pause(0.01) 
end 

これは、ライブ・スクリプトに埋め込まれている場合、最初のプロットが示され、その後、一見何もループしながら、起こりませんが実行されている場合は、最後のアスペクト(元のプロットと同じ)が新しい表示アイテムに表示されます。

また、ライブスクリプトのプロットと対話するオプションがあります(新しい図でプロットをダブルクリックして開くことを除く)。例えば。 rotate3dは効果がありません。

+0

私はこれを試すmatlab 2016を持っていませんが、あなたはいくつか試してみることができます:1)パブリッシャーでスナップショットを望むなら、古い出版社で 'drawnow'の代わりに' snapnow'を使わなければなりませんでした。ライブスクリプトが出版社からコードを借用している場合、これは試してみる価値があるかもしれません。 2)forループの代わりに実際のムービーオブジェクトを作成し、 'movie'コマンドでそれを再生すると、LiveScriptが正しく解釈されるように設定されている可能性があります。 3)LiveScriptが適切なHTMLベースのものであれば、アニメーション化されたgifをサポートするかもしれない。 'imwrite'と個々のフレームを使って作成してください。 (上記の作業があれば教えてください:) –

+1

@TasosPapastylianouご意見ありがとうございます... 1)動作しません.2)ムービーは最後のフレームのみを表示します。3)アニメーションGIFを試していません。それは最後の手段です:) – zeeMonkeez

+0

私はこれが2016bまで待たなければならないと感じています。 – zeeMonkeez

答えて

1

答えはないようです - ライブスクリプトはあまりにも機能が豊富でまだ若すぎます。彼らがundebuggableであるという事実だけで、私はより多くの1-2バージョンのために彼らから遠ざかるだろう。 Matlab Notebooksを調べましたか?あなたがきれいな書式設定と基本的な対話性の後にいるなら、それはあなたが求めるものかもしれません。

+0

正しく覚えていれば、ノートブックはWindowsのみですか? – zeeMonkeez

+0

MSワードのみ。どんなOSをターゲットにしていますか? –

+0

これは[Windowsのみ](http://www.mathworks.com/help/matlab/matlab_prog/create-a-matlab-notebook-with-microsoft-word.html)です。私はこれをWindowsとMac、そしてLinuxが好きな方でも動作させたいと思っています。 – zeeMonkeez

0

リリース2016bでは、axesをホバーすると表示されるコントロールでaxesを操作するオプションが追加されました。これは、表示されないaxesVisible='off')では機能しません。代わりに、支配者と背景が隠される必要があります:subplotに配置された

ax = axes; 
x = rand(9, 3); 
plot3(ax,x(:, 1), x(:, 2), x(:, 3), 'x'); 
% Hide rulers and background color 
ax.Color = [1 1 1 0]; 
ax.XAxis.Visible ='off'; 
ax.YAxis.Visible ='off'; 
ax.ZAxis.Visible ='off'; 

軸も同様に個別に操作することができます。

関連する問題