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

您所在的位置:网站首页 下面的图形可以用上面哪个物体画出来图片 MATLAB绘制三维图形(plot3、mesh和surf)

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

2024-07-07 10:49| 来源: 网络整理| 查看: 265

目录

        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()函数完全一致



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3