matlab 绘制三维图形
(2010-06-10 22:43:39)
谢谢!很好用!
原文地址:matlab 绘制三维图形作者:hotinko1
三维曲线
plot3 函数与 plot 函数用法十分相似,其调用格式为:
plot3(x1,y1,z1,选项 1,x2,y2,z2,选项 2,…,xn,yn,zn,选项 n)
其中每一组 x,y,z 组成一组曲线的坐标参数,选项的定义和 plot 函数相同。当
x,y,z 是同维向量时,则 x,y,z 对应元素构成一条三维曲线。当 x,y,z 是同维矩
阵时,则以 x,y,z 对应列元素绘制三维曲线,曲线条数等于矩阵列数。
例 绘制三维曲线。
程序如下:
t=0:pi/100:20*pi;
x=sin(t);
y=cos(t);
z=t.*sin(t).*cos(t);
plot3(x,y,z);
title('Line in 3-D Space');
xlabel('X');ylabel('Y');zlabel('Z');
三维曲面
1.产生三维数据
在 MATLAB 中,利用 meshgrid 函数产生平面区域内的网格坐标矩阵。其格式
为:
x=a:d1:b; y=c:d2:d;
[X,Y]=meshgrid(x,y);
语句执行后,矩阵 X 的每一行都是向量 x,行数等于向量 y 的元素的个数,矩
阵 Y 的每一列都是向量 y,列数等于向量 x 的元素的个数。
2.绘制三维曲面的函数
surf 函数和 mesh 函数的调用格式为:
mesh(x,y,z,c):画网格曲面,将数据点在空间中描出,并连成网格。
surf(x,y,z,c):画完整曲面,将数据点所表示曲面画出。
一般情况下,x,y,z 是维数相同的矩阵。x,y 是网格坐标矩阵,z 是网格点上的
高度矩阵,c 用于指定在不同高度下的颜色范围。
例 绘制三维曲面图 z=sin(x+sin(y))-x/10。
程序如下:
[x,y]=meshgrid(0:0.25:4*pi); %在[0,4pi]×[0,4pi]区域生成网格坐标
z=sin(x+sin(y))-x/10;
mesh(x,y,z);
axis([0 4*pi 0 4*pi -2.5 1]);
此外,还有带等高线的三维网格曲面函数 meshc 和带底座的三维网格曲面函
数 meshz。其用法与 mesh 类似,不同的是 meshc 还在 xy 平面上绘制曲面
在 z 轴方向的等高线,meshz 还在 xy 平面上绘制曲面的底座。