三维曲线
plot3(x,y,z):绘制三维曲线。例如
t=0:0.1*pi:6*pi;
x=cos(t);
y=sin(t);
z=2*t;
plot3(x,y,z);
xlabel('X');ylabel('Y');zlabel('Z');
grid on;
fplot3(funx,funy,funz,tlims):funx、funy、funz为坐标函数,通常采用句柄;tlims为自变量取值范围,默认为[-5,5]。例如:
>> x=@(t) exp(-t/10).*sin(5*t);
>> y=@(t) exp(-t/10).*cos(5*t);
>> z=@(t) t;
>> fplot3(x,y,z,[-12,12])
三维曲面
利用meshgrid函数生成平面网格数据:[X,Y]=meshgrid(x,y)其中x、y为向量,储存网格点坐标X、Y为矩阵。例如:
>> x=2:6;y=(3:8)';
>> [X,Y]=meshgrid(x,y)
结果:
X =
2 3 4 5 6
2 3 4 5 6
2 3 4 5 6
2 3 4 5 6
2 3 4 5 6
2 3 4 5 6
Y =
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5
6 6 6 6 6
7 7 7 7 7
8 8 8 8 8
绘制三维曲面的函数:
- mesh(x,y,z)函数:三维网格图
- surf(x,y,z)函数:三维曲面图
- meshc带有等高线效果
- meshz带有底座
- surfc带有等高线
- surfl带有光照效果
标准三维曲面: - [x,y,z]=sphere(n):三维球面,n为圆滑程度
- [x,y,z]=cylinder(R,n):三维柱面
例如:
>> [x,y,z]=cylinder(1,50);
>> z=[-1*z(2,:);z(2,:)];%将柱底面坐标改为-1
>> surf(x,y,z);
>> hold on;
>> surf(y,z,x)
- peaks函数:多峰函数
有两个自变量时fsuf和fmesh函数 - fsurf(funx,funy,funz,uvlims)
- fmesh(funx,funy,funz,uvlims)
例如:
>> x=@(u,v) u.*sin(v);
>> y=@(u,v) -u.*cos(v);
>> z=@(u,v) v;
>> u=-5:0.1:5;v=-5:0.1:2;
>> fsurf(x,y,z)