2015-11-14 76 views
0

我写了绘制2个子图,3D曲面图和2D等高线图的代码。但是,图中使用的变量/矢量会发生变化,我需要重新绘制它们。这是我到目前为止。每次运行代码时,我总是收到并发现错误和MATLAB崩溃。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; 

人请帮忙?

+0

发布错误请 –

+0

错误说内存已满。并且使用set有一个问题。我得到这样的警告:“警告:行XData长度(90802)和YData长度(1)必须等于” –

+0

问题是我的代码,而不是MATLAB。如果我不强制退出,我的代码运行不正常并且运行很长时间。 –

回答

0

当您不使用mex或其他外部接口时,Matlab崩溃将成为联系Mathworks客户支持的一种情况。

+0

你能帮我一下我的代码吗? –

+1

我不是Mathworks公司的。无论如何,如果你想增加任何人能够帮助你的机会,你应该提供一个最小但完整的例子来证明这种行为。您问题中的代码缺少数据。您可能需要将数据生成,初始绘图,数据修改,重新绘制等功能合并到一个独立的m文件中。 –