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
展开
 我来答
greatdju
2011-04-22 · TA获得超过2.2万个赞
知道大有可为答主
回答量:2486
采纳率:50%
帮助的人:4146万
展开全部
用mesh绘制的三个维度的矩阵的size应该是一样的,所以z2=1这一句有问题。用z2 = ones(size(x))可以解决。
关于绘图后视图角度的问题。由于你在没有绘图时就使用了hold on命令,此时matlab会自动开启一个绘图窗口,但默认是二维作图窗口,因此在绘制三维图时是俯视视角。可以在绘图最后再加一句
view(3)
将视角设为默认三维视图视角。也可以先用mesh绘制一幅三维图后再加hold on,再绘制第二幅图。
追问
你太厉害了,得学多长时间matlab才能达到你这样的熟练程度呢,你学matlab时看的是什么书啊,看了几本啊
我在看日全食
2011-04-22 · TA获得超过674个赞
知道小有建树答主
回答量:112
采纳率:0%
帮助的人:216万
展开全部
z2 = ones(size(x))*1
Z2必须是一个矩阵而不是标量或者向量。其大小与xy区域相同
追问
还是不行啊,单独画都能画出来,但是画一起就变成平面的网格了,是hold on 不能用了吗
追答
使用view(3),否则你使用的hold on命令时matlab会先生成一个图形窗口,是俯视xy的二维视图
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-04-22
展开全部
你可以问一下老师
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式