yqx1985 发表于 2009-3-9 08:29

如何绘制三维平面图?

大家好,我有一个函数包含x,y两个变量,举个简单的例子就是z=ax+by+c
请问如何在matlab中实现它的画图呢??

friendchj 发表于 2009-3-9 08:54

help meshgrid,griddata,mesh,surf

[ 本帖最后由 friendchj 于 2009-3-9 10:31 编辑 ]

yqx1985 发表于 2009-3-9 08:59

原帖由 yqx1985 于 2009-3-9 08:29 发表 http://www.chinavib.com/forum/images/common/back.gif
大家好,我有一个函数包含x,y两个变量,举个简单的例子就是z=ax+by+c
请问如何在matlab中实现它的画图呢??
能不能具体点呢……比如x,y,z都在1:20的范围内,做z=x+y+2的三维图

friendchj 发表于 2009-3-9 10:30

回复 板凳 yqx1985 的帖子

x=rand(1,20)*20;
y=rand(1,20)*20;
z=x+y+2;
=meshgrid(0:20,0:20);
Z=griddata(x,y,z,X,Y);
mesh(X,Y,Z)

friendchj 发表于 2009-3-9 10:40

or
~~~~~~~~~~~~~~~~~~~
x=1:20;
y=x;
z=x+y+2;
=meshgrid(x,y);
for i=1:length(x)
    for j=1:length(x)
      Z(i,j)=X(i,j)^2+Y(i,j)^2+2;
    end
end
mesh(X,Y,Z)

yqx1985 发表于 2009-3-9 13:42

原帖由 friendchj 于 2009-3-9 10:40 发表 http://www.chinavib.com/forum/images/common/back.gif
or
~~~~~~~~~~~~~~~~~~~
x=1:20;
y=x;
z=x+y+2;
=meshgrid(x,y);
for i=1:length(x)
    for j=1:length(x)
      Z(i,j)=X(i,j)^2+Y(i,j)^2+2;
    end
end
mesh(X,Y,Z)
非常感谢你,很有启发性:handshake
不过,
for i=1:length(x)
    for j=1:length(x)
      Z(i,j)=X(i,j)^2+Y(i,j)^2+2;
    end
end
这段语句,改成Z=X.^2+Y.^2+2      应该会更好些

[ 本帖最后由 yqx1985 于 2009-3-9 17:39 编辑 ]
页: [1]
查看完整版本: 如何绘制三维平面图?