matlab三维图像绘制作图小结篇
的有关信息介绍如下:matlab作图应用十分广泛,科研、金融都需要用到,我自己总结了一下在科研中最长用到的一些三维图像的作图方法,下面让我们开始matla三维作图的简单学习吧!
1、MATLAB中,三维曲线的绘制函数是plot3。语法形式如下:
plot3(X, Y, Z)
plot3(X, Y, Z, S)
plot3(X1, Y1, Z1, S, X2, Y2, Z2, S …)
X、Y和Z:三个方向上的坐标值,尺寸相同
S:对曲线的线型、颜色、线宽、点标记样式等属性进行设置。
当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');
grid on;
2、绘制三维网格图
mesh函数用于三维网眼图的绘制,语法为:
mesh(X, Y, Z)
X、Y:网格矩阵数组,一般是通过meshgrid函数生成的二维数组;
Z:函数值数组,通过函数z=f(x,y)计算得到
绘制三维网格图的三个步骤:
#、用函数meshgrid生成平面网格矩阵;
#、计算平面网格矩阵数值矩阵Z,即计算(x,y)平面上所有网格点上的z值;
#、调用函数mesh绘制网眼图。
举例:
x = -2:0.2:2;
y = x;
[X, Y] = meshgrid(x,y);
Z = -3*X + 2*Y;
mesh(X,Y,Z)
3、绘制三维表面图
surf函数用于三维表面图的绘制,语法为:
surf(X, Y, Z)
surfc(X,Y,Z)
X、Y:网格矩阵数组,一般是通过meshgrid函数生成的二维数组;
Z:函数值数组,通过函数z=f(x,y)计算得到。
Surfc在surf的基础上绘制等值线;
在介绍二维图形时,曾提到条形图、杆图、饼图和填充图等特殊图形,它们还可
以以三维形式出现,使用的函数分别是bar3、stem3、pie3 和fill3。
stem3函数绘制离散序列数据的三维杆图,常用格式为:
stem3(z)
stem3(x,y,z)
举例:
figure
X = linspace(-pi/2,pi/2,40);
Z = cos(X);stem3(Z)
5、pie3函数绘制离散序列数据的三维饼图,常用格式为:
pie3(x)
举例:
x = [1,3,0.5,2.5,2];
figure
pie3(x)
6、fill3函数:
基本用法:
fill3(X,Y,Z,C)
举例:
X = [0 1 1 2; 1 1 2 2; 0 0 1 1];
Y = [1 1 1 1; 1 0 1 0; 0 0 0 0];
Z = [1 1 1 1; 1 0 1 0; 0 0 0 0];
C = [0.5000 1.0000 1.0000 0.5000;
1.0000 0.5000 0.5000 0.1667;
0.3330 0.3330 0.5000 0.5000];
figurefill3(X,Y,Z,C)