matlab绘制三维图
1.1绘制三维图命令
plot3(x,y,z,’s’);
plot3(x,y,z,’s’,x1,y1,z1,’s1’….); % 绘制多条三维图
s指定线形,色彩,数据点形状的字符串
x = 0:0.1:20*pi;
plot3(x,sin(x),cos(x));
- 1
- 2
1.2绘制三维网线图和曲面图
1.2.1 meshgrid命令
[X,Y]=meshgrid(x,y);
% 以x,y为基准,产生x-y平面的各个栅格点坐标值
1.2.2三维网格图
mesh(z); % 画三维网线图
mesh(x,y,z,c);
x,y,z,c都是维数相同的矩阵
c是指定各点的颜色矩阵
z = peaks;
figure(2);
mesh(z);
- 1
- 2
- 3
1.2.3三维曲面图
surf(z); % 画三维曲面图
surf(x,y,z,c);
x,y,z,c都是维数相同的矩阵
c是指定各点的颜色矩阵
1.2.4其他立体网线图,曲面图
三维曲面图:
meshz(x,y,z);
meshc(x,y,z);
三维网线图
surfc(x,y,z,c); % 加等高线
surf(x,yx,z,c,S); % 给三维网线图加光源,S为光源方向三维数组
x1 = -4:0.1:4;
y1 = -4:0.1:4;
[x2,y2]=meshgrid(x1,y1);
z = peaks(x2,y2);
figure(2);
mesh(x1,y1,z);
figure(3);
surf(z);
figure(4);
meshz(x1,y1,z); % 曲面加’围裙‘图
figure(5);
meshc(x1,y1,z); % 曲面图加等高线
figure(6);
surfc(x1,y1,z); % 网线图加等高线
figure(7);
surfl(x1,y1,z); % 网线图加光源
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
figure(4):
figure(5):
figure(6):
figure(7):
1.3立体图形与图轴控制
view([az,el]); % az方位角(与x轴之间的角度),el俯角(与y轴之间的角度)
view(vx,vy,vz) % 通过直角坐标系改变视角
[x,y,z] = peaks;
mesh(x,y,z);
hidden off;
view(0,0); % 方位角,俯角全为0
- 1
- 2
- 3
- 4
[x,y,z] = peaks;
mesh(x,y,z);
hidden off;
view(0,90); % 方位角0,俯角90
- 1
- 2
- 3
- 4
1.4曲面的镂空
空位置使用nan取代矩阵在该部分数值,所有函数会忽略nan数据点,实现镂空效果
figure(2);
z(10:20,10:20)=nan; % 将一部分值用nan代替
surf(x,y,z);
- 1
- 2
- 3