matlab把两个三维图形画在一个图中,这样编程哪错了 [x,y]=meshgrid(-2:0.1:2); >> z1=x.*x-2*y.*y; >> z2
代码如下[x,y]=meshgrid(-2:0.1:2);z1=x.*x-2*y.*y;z2=1;holdon,mesh(x,y,z1),mesh(x,y,z2),hol...
代码如下
[x,y]=meshgrid(-2:0.1:2);
z1=x.*x-2*y.*y;
z2=1;
hold on,mesh(x,y,z1),mesh(x,y,z2),hold off 展开
[x,y]=meshgrid(-2:0.1:2);
z1=x.*x-2*y.*y;
z2=1;
hold on,mesh(x,y,z1),mesh(x,y,z2),hold off 展开
展开全部
用mesh绘制的三个维度的矩阵的size应该是一样的,所以z2=1这一句有问题。用z2 = ones(size(x))可以解决。
关于绘图后视图角度的问题。由于你在没有绘图时就使用了hold on命令,此时matlab会自动开启一个绘图窗口,但默认是二维作图窗口,因此在绘制三维图时是俯视视角。可以在绘图最后再加一句
view(3)
将视角设为默认三维视图视角。也可以先用mesh绘制一幅三维图后再加hold on,再绘制第二幅图。
关于绘图后视图角度的问题。由于你在没有绘图时就使用了hold on命令,此时matlab会自动开启一个绘图窗口,但默认是二维作图窗口,因此在绘制三维图时是俯视视角。可以在绘图最后再加一句
view(3)
将视角设为默认三维视图视角。也可以先用mesh绘制一幅三维图后再加hold on,再绘制第二幅图。
追问
你太厉害了,得学多长时间matlab才能达到你这样的熟练程度呢,你学matlab时看的是什么书啊,看了几本啊
展开全部
z2 = ones(size(x))*1
Z2必须是一个矩阵而不是标量或者向量。其大小与xy区域相同
Z2必须是一个矩阵而不是标量或者向量。其大小与xy区域相同
追问
还是不行啊,单独画都能画出来,但是画一起就变成平面的网格了,是hold on 不能用了吗
追答
使用view(3),否则你使用的hold on命令时matlab会先生成一个图形窗口,是俯视xy的二维视图
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-04-22
展开全部
你可以问一下老师
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询