matlab把两个三维图形画在一个图中,这样编程哪错了 [x,y]=meshgrid(-2:0.1:2); >> z1=x.*x-2*y.*y; >> z2

2025-01-05 11:50:18
推荐回答(3个)
回答1:

用mesh绘制的三个维度的矩阵的size应该是一样的,所以z2=1这一句有问题。用z2 = ones(size(x))可以解决。
关于绘图后视图角度的问题。由于你在没有绘图时就使用了hold on命令,此时matlab会自动开启一个绘图窗口,但默认是二维作图窗口,因此在绘制三维图时是俯视视角。可以在绘图最后再加一句
view(3)
将视角设为默认三维视图视角。也可以先用mesh绘制一幅三维图后再加hold on,再绘制第二幅图。

回答2:

z2 = ones(size(x))*1
Z2必须是一个矩阵而不是标量或者向量。其大小与xy区域相同

回答3:

你可以问一下老师