三维图形绘制
二维图形提供了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提供了绘制三维表面网格图的函数,调用格式: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=>101010>11 1111>12 1212>13 1313 >14 1414
利用meshgrid函数画出矩阵生成表面曲线图。
>>[X,Y]=meshgrid(-2:.2:2,-2:.2:2);>>Z=X.*exp(-X.^2-Y.^2);>>surf(X,Y,Z)
关于三维图形的绘制,常用命令:
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} z=−x2+y2的网线图和曲面。
>>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
例题2:利用meshz绘制三维曲线
>>clear all;>>x=-3:.125:3;>>[X,Y]=meshgrid(x);>>Z=peaks(X,Y);>>meshz(X,Y,Z)
如果觉得《MATLAB三维图形绘制方法实例+效果图》对你有帮助,请点赞、收藏,并留下你的观点哦!