【问题标题】:MATLAB surface plot inputsMATLAB 曲面图输入
【发布时间】:2015-11-14 06:29:59
【问题描述】:

我编写了绘制 2 个子图、一个 3D 曲面图和一个 2D 等高线图的代码。但是,图中使用的变量/向量发生了变化,我需要重新绘制它们。这是我到目前为止所拥有的。每次运行代码时,我都会不断出错,并且 MATLAB 崩溃。

有效的情节:

subplot(2,1,1);
plotHandle =     surf(xMeters(xStart:xEnd),yMeters(yStart:yEnd),ELEV(yStart:yEnd,xStart:xEnd));
subplot(2,1,2);
contour(xMeters,yMeters,ELEV);
hold on;
plotHandle2 = plot(xTop,yTop,'b');
plotHandle3 = plot(xBottom,yBottom,'b');
plotHandle4 = plot(xLeft,yLeft,'b');
plotHandle5 = plot(xRight,yRight,'b');
hold off;

然后我尝试在对变量/向量进行一些操作后重新绘制它 这是它崩溃的地方:

subplot(2,1,1);
set(plotHandle,'XData',xMeters(xStart:xEnd));
set(plotHandle,'YData',yMeters(yStart:yEnd));
set(plotHandle,'ZData',ELEV(yStart:yEnd,xStart:xEnd));
subplot(2,1,2);
set(plotHandle2,'XData',xTop);
set(plotHandle2,'YData',yTop);
set(plotHandle3,'XData',xBottom);
set(plotHandle3,'YData',yBottom);
set(plotHandle4,'XData',xLeft);
set(plotHandle4,'YData',yLeft);
set(plotHandle5,'XData',xRight);
set(plotHandle5,'YData',yRight);

drawnow;

有人可以帮忙吗?

【问题讨论】:

  • 错误提示内存已满。使用 set 时出现问题。我收到了这个警告:“警告:行 XData 长度 (90802) 和 YData 长度 (1) 必须相等”
  • 问题是我的代码,而不是 MATLAB。如果我不强制退出,我的代码将无法正常运行并运行很长时间。

标签: matlab plot


【解决方案1】:

Matlab 崩溃,当您不使用 mex 或其他外部接口时,需要联系 Mathworks 客户支持。

【讨论】:

  • 我不使用 Mathworks。无论如何,如果您想增加任何人能够帮助您的机会,您应该提供一个最小但完整的示例来展示该行为。您问题中的代码缺少数据。您可能希望将数据生成、初始绘图、数据修改、重新绘图全部组合在一个独立的 m 文件中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-11
相关资源
最近更新 更多