我想在matlab中使用surf绘制一个三维图形。我知道如何使用冲浪来绘制它:
k = 5;
n = 2^k-1;
[x,y,z] = sphere(n);
c = hadamard(2^k);
p=surf(x,y,z);
但我想实时绘制这个,我想用set更新值。
我累了:set(p,"XData",Xvalue,"YData",Yvalue,"ZData",Zvalue);
但它给了我错误。有没有人实时使用冲浪?
答案 0 :(得分: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
的行为相同。