MATLAB绘制三维图形(plot3、mesh和surf)

目录

        1. plot3()函数

        2.mesh()函数

        3.surf()函数

        4.surfc()和surfl()函数


        1. plot3()函数

与plot函数相比,plot3函数可以在三维空间内绘制出三维曲线

plot3(x,y,z,选项)

其中x,y,z分别是维数相同的向量,分别存储曲线的三个坐标的值,其中“选项”与我之前写过 MATLAB绘制多条曲线(plot函数)文章中一样,可以定义曲线的线形、颜色等。有需要的具体可以参考之前的文章,这里就不再赘述了。

例:用绿色实线绘制一个时间向量

t = 0:pi/50:10*pi;
x = sin(t);
y = cos(t);
z = t;
plot3(x,y,z,'g-')

        另外,为了使三维图形更漂亮,可以绘制出三维曲面图,那么就不得不介绍mesh函数。

        2.mesh()函数

mesh函数可以绘制三维曲面图,其调用格式:

mesh(z)

其中z为一个矩阵,表示一个曲面的z坐标。在MATLAB 4.0 下,该曲面网格绘制函数的调用函数可以写成

mesh(x,y,z,c)

其中x和y分别为构成该曲面的x和y向量,而c为颜色矩阵,表示在不同的高度下的颜色范围,如果省略此项,则MATLAB会自动地假定c=z,亦即颜色的设定是正比与图形的高度的,这样可以得出一个层次分明的三维图形。

例:在x,y平面内选择一个区域,绘制z=f(x,y)

[X,Y] = meshgrid(-8:.5:8); %设置x和y平面的网格%产生一个横纵坐标起始于-8,终止于8,且步距为.5的网格图形
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;%计算曲面的z矩阵
mesh(X,Y,Z)%画图

        有时z矩阵计算过于复杂,使得z为一个高度矩阵 ,此时生成的图形不一定理想,可以调用axis()函数来重新设定坐标系。

axis([min(min(x)) max(max(x)) min(min(y)) max(max(y)) min(min(z)) max(max(z))])

        从图中可以看出默认状态下隐含的部分都没绘制出来,如果想展示绘制出隐含部分,可以调用hidden off命令来进行处理,此时得出的图形如下图所示:

        3.surf()函数

        前面的mesh()函数还可以用surf(x,y,z)函数代替,绘制出的图像如图所示

        4.surfc()和surfl()函数

        surfc()可以获得带有等高线的三维图形

        surfl()可以获得带有阴影的三维图形

        它们的调用格式与surf()函数完全一致

  • 27
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值