-
1 文档
-
2 视频
-
3 PPT
plot3用来绘制三维曲线,与二维绘图plot命令相似。其基本格式:
plot3(x,y,z)
说明:当x,y,z是同维向量时,则绘制以x,y,z元素为坐标的三维曲线,当x,y,z是同维矩阵时,则绘制曲线的条数等于矩阵的列数。
[例3-5] 三维曲线绘图。
t =0:pi/50:10*pi;
plot3(sin(t), cos(t),t)
输出结果如图3-9所示。

图3-9 三维曲线(螺旋线)
1.meshgrid函数
为了绘制三维立体图形,Matlab将x方向划分为m份,将y方向划分为n份,由划分点分别作平行于两坐标轴的直线,形成n×m个网格,然后计算出各网格点对应函数f(x,y)的值。meshgrid函数的功能就是按指定方式创建网格矩阵。其基本格式为:
[X,Y] = meshgrid(xgv,ygv)
说明:以等长度向量xgv,ygv为基准,产生二维网格数据。
例如:
>>a=0:4;b=a;
>> [X,Y] =meshgrid(a,b)
X =
0 1 2 3 4
0 1 2 3 4
0 1 2 3 4
0 1 2 3 4
0 1 2 3 4
Y =
0 0 0 0 0
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
2. 三维网线图形
Matlab提供了mesh函数绘制三维网线图形,其基本格式为:
mesh(x,y,z,c)
mesh(x,y,z)
mesh(z,c)
mesh(z)
说明:在x、y确定的区域内绘制z的网格图,最一般应用时,x、y、z是维数相同的矩阵,c用于指定不同高度下的颜色范围。c省略时,默认c=z,表示颜色正比于图形的高度。当x、y省略时,把z矩阵的列下标作为x轴坐标,z矩阵的行下标作为y轴坐标,绘制三维曲面图,当x、y是向量时,要求x的长度必须等于z矩阵的列数,y的长度等于z矩阵的行数。
Matlab还提供了有meshz函数与meshc函数,meshz函数为网线图加幕帘线,meshc函数为网线图加等高线,格式与mesh函数相似。
[例3-6] 应用mesh绘制网线图。
[x,y] =meshgrid(-8:.5:8);
R = sqrt(x.^2 + y.^2)+ eps;
z=sin(R)./R;
figure(1);mesh(x,y,z)
figure(2);
meshc(z);
输出结果如图3-10、3-11所示。

图3-10 mesh函数绘制三维网线图形图 3-11meshc函数绘制三维网线图形
3. 三维曲面图形
Matlab提供了surf函数绘制三维网线图形,其基本格式为:
surf(x,y,z,c)
surf (x,y,z)
surf (z,c)
surf (z)
说明:surf函数用于绘制三维曲面图,且各线条之间的补面用颜色填充。参数使用类似mesh函数。
[例3-7]应用surf绘制peaks函数的曲面图。
[x,y] =meshgrid(-3:.125:3);
z=peaks(x,y);
surf(x,y,z);
xlabel('x轴');ylabel('y轴');
输出结果如图3-12所示。

图3-12 surf函数绘制三维曲面图形
Matlab还提供了函数surfc,在函数surf绘制的三维图形基础上再绘出等高线。
4. 视角
视角就是指观察图形的方向,Matlab中利用函数view来指定立体图形的观察点,控制图形的视角。其主要格式有:
view(az,el)
view([x,y,z])
view(2)
view(3)
说明:az是方位角,是通过视点和z轴所做平面与yoz平面所夹的角度。el为仰角,是用直线连接视点与坐标原点,该直线与xoy平面的夹角。设置“[x,y,z]”,表示设置视点。view(2)设置缺省的二维视点,az=0,el=90。view(3) 设置缺省的三维视点,az=-37.50,el=30。
例如:将上例的peaks函数图形的方位角改为10°时,结果如图3-13所示。

图3-13 az=10与el=30时的视图

