作业帮 > 综合 > 作业

如何使用matlab做一些简单的三维曲面图?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/08/23 05:57:35
如何使用matlab做一些简单的三维曲面图?
有个例子,麻烦能够帮忙做一下,谢谢.最好能有注释.
x^2+y^2-2*y=0,这个例子中z的值是任意的,所以用meshgrid的话应该怎么把z和x,y建立起来关系我有点不清楚.
一般用mesh或surf绘制曲面的话函数必须能够显示表达,比如z=f(x,y)(x=f(y,z)、y=f(x,z))或者x=X(u,v),y=Y(u,v),z=Z(u,v)的形式,就是说x、y、z必须能够由两个由meshgrid生成的变量矩阵表达.对于隐函数,必须手动寻找这种表达方式,否则即无法绘制,但寻找过程是很难自动化实现的,必须具体问题具体分析.下面以x^2+y^2-2*y=0这个例子进行说明.
首先x^2+y^2-2*y=0是圆x^2+(y-1)^2=1
可以用参数方程表达为
x=sin(u)
y=cos(u)+1
而z是任意的,因此用另一个独立参数表示
z=v
于是该函数就用参数u和v表达出来了,我们只要用meshgrid生成了u和v即可得到x、y和z了.
下面是程序
u=linspace(0,2*pi,37);v=-1:.1:1;
[u,v]=meshgrid(u,v);
x=sin(u);
y=cos(u)+1;
z=v;
mesh(x,y,z);
axis equal