2011-07-31 10 views
0

matlabにsurfを使用して3次元グラフをプロットします。私はちょうどサーフィンを使用して、それをプロットする方法を知っている:SURFを使用してmatlabのリアルタイムプロット

k = 5; 
n = 2^k-1; 
[x,y,z] = sphere(n); 
c = hadamard(2^k); 
p=surf(x,y,z); 

しかし、私は、リアルタイムでこれをプロットしたい、と私はセットを使用して値を更新します。 私は疲れました:set(p,"XData",Xvalue,"YData",Yvalue,"ZData",Zvalue);しかしそれは私にエラーを与えます。誰でもリアルタイムでサーフを使ってプロットしていますか?

+0

'set(p、 'XData'、Xvalue、 'YData'、Yvalue、 'ZData'、Zvalue);'の後ろに 'drawnow'をつけて、グラフィックス・キューをフラッシュします。 – Jonas

+0

ありがとう、私はミスタイプ "、うん、私はdrawnowを追加します – Rave

答えて

2

1)あなたが関数linkdataコマンドまたはツールバーボタン(あるいはツールを使用することができます - > [プロットウィンドウからリンク)

2)をプログラム:あなたは新しいデータがあることを知らせるためのコマンド「refreshdataを」を呼び出す必要があります利用可能:

%% Define the data 
t=linspace(0,2*pi,40); 
y=sin(t); 

%% Create the plot and set teh datasources 
h=plot(t,y) 
set(h,'YDataSource','y') 
set(h,'XDataSource','t') 

%% Now update the data and the plot 
pause 
y=sin(2*t); 
refreshdata 

これはplotのためにそれを示しているが、同じように動作しますsurfを期待しています。

関連する問題