【问题标题】:realtime plotting in matlab using SURF使用 SURF 在 matlab 中实时绘图
【发布时间】:2011-07-31 10:03:59
【问题描述】:

我想在 matlab 中使用 surf 绘制 3d 图。我知道如何仅使用 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); 但它给了我错误。有人用 surf 实时绘图吗?

【问题讨论】:

  • 对属性名称使用单引号:set(p,'XData',Xvalue,'YData',Yvalue,'ZData',Zvalue);,后跟 drawnow 以刷新图形队列。
  • 谢谢,我打错了“,是的,我会添加drawow

标签: matlab real-time


【解决方案1】:

1) 您可以使用链接数据命令或工具栏按钮(甚至是工具 -> 绘图窗口中的链接)

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 将表现相同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-06
    • 2011-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多