一. 三维曲线
选项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对应列元素绘制三维曲线,曲线条数等于矩阵列数。
Example1.绘制三维曲线。
程序如下:
clf,
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');
grid on;
所的图形如下:
二. 三维曲面
1. 产生三维数据
在MATLAB中,利用meshgrid函数产生平面区域内的网格坐标矩阵。
语句执行后,矩阵X的每一行都是向量x,行数等于向量y的元素的个数,矩阵Y的每一列都是向量y,列数等于向量x的元素的个数。
2. 绘制三维曲面的函数
surf函数和mesh函数
example2. 绘制三维曲面图z=sin(x+sin(y))-x/10。
程序如下:
clf,
[x,y]=meshgrid(0:0.25:4*pi); 产生平面坐标区域内的网格坐标矩阵
z=sin(x+sin(y))-x./10;
surf(x,y,z);
axis([0 4*pi 0 4*pi -2.5 1]);
title('surf函数所产生的曲面');
figure;
mesh(x,y,z);
axis([0 4*pi 0 4*pi -2.5 1]);
title('mesh函数所产生的曲面');
Example3.绘制4种三维曲面图。
clf,
[x,y]=meshgrid(-10:0.8:10);
z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2);
subplot(2,2,1);
mesh(x,y,z);
title('mesh(x,y,z)')
subplot(2,2,2);
meshc(x,y,z);
title('meshc(x,y,z)')
subplot(2,2,3);
meshz(x,y,z)
title('meshz(x,y,z)')
subplot(2,2,4);
surf(x,y,z);
title('surf(x,y,z)')
图像如下:
3. 标准三维曲面
sphere函数的调用格式为:
[x,y,z]=sphere(n)
cylinder函数的调用格式为:
[x,y,z]= cylinder(R,n)
MATLAB还有一个peaks 函数,称为多峰函数,常用于三维曲面的演示。
Example4 绘制标准三维曲面图形。
clear all;
t=0:pi/20:2*pi;
[x,y,z]= cylinder(2+sin(t),30);
subplot(2,2,1);
surf(x,y,z);
title('[x,y,z]= cylinder(2+sin(t),30)')
subplot(2,2,2);
[x,y,z]=sphere;%20X20
surf(x,y,z);
title('[x,y,z]=sphere')
subplot(2,1,2);
[x,y,z]=peaks(30); %30X30
surf(x,y,z);
title('[x,y,z]=peaks(30)')
图像如下:下载本文