欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MATLAB三维图形绘制

程序员文章站 2022-07-14 09:47:37
...

三维图形绘制

二维图形提供了plot函数,同样,三维图形也有自己的函数plot3,能够在一个三维空间内绘制出三维的曲线,函数调用格式如下:
plot(x,y,z,选项) x,y,z为维数相同的向量,分别存储了三个坐标的值,选项的意义,同plot函数选项

利用plot3绘制三维曲线
>>clear all;
>>t=0:pi/50:10*pi;
>>plot3(sin(t),cos(t),t)
>>grid on 
>>axis square

MATLAB三维图形绘制

matlab提供了绘制三维表面网格图的函数,调用格式:mesh(x,y,z,c)
x,y,z,c分别构成三维曲线的x,y和z向量;c为色彩矩阵,表示不同高度z下的色彩范围值。
meshgrid函数是平面网格坐标矩阵的表示函数,调用格式如下:
[X,Y]=meshgrid(x,y)
[X,Y]=meshgrid(x)
[X,Y,Z]=meshgrid(x,y,z)

利用meshgrid函数创建矩阵。
>>[X,Y]=meshgird(1:3,10:14>>X=
>         1         2         3 
>         1         2         3
>         1         2         3
>         1         2         3
>         1         2         3
>>Y=
>          10      10      10
>          11       11      11
>          12       12      12
>          13       13      13 
>          14       14      14
利用meshgrid函数画出矩阵生成表面曲线图。
>>[X,Y]=meshgrid(-2:.2:2,-2:.2:2);
>>Z=X.*exp(-X.^2-Y.^2);
>>surf(X,Y,Z)

MATLAB三维图形绘制

关于三维图形的绘制,常用命令:

surf(x,y,z) %绘制三维表面图形
surc(x,y,z) %绘制带有等高线的三维表面图形
surfl(x,y,z) %绘制带有阴影的三维表面图形
coutour(x,y,z) %等高线图形

例题1:绘制 z=x2+y2z=-\sqrt{x^2+y^2} 的网线图和曲面。

>>clear all;
>>x=-9:0.5:9;
>>y=x;
>[x,y]=meshgrid(x,y);      %坐标网格函数
>>z=-sqrt(x.^2+y.^2);    %函数表达式
>>z=-z.*z;
>>surf(x,y,z);          %三维曲面图,如图1-1
>>pause;                
>>mesh(x,y,z)          %三维曲面图,如图1-2

MATLAB三维图形绘制

例题2:利用meshz绘制三维曲线

>>clear all;
>>x=-3:.125:3;
>>[X,Y]=meshgrid(x);
>>Z=peaks(X,Y);
>>meshz(X,Y,Z)

MATLAB三维图形绘制