使用数学软件Matlab建模画图程序汇总

2022-04-16 05:07:11
目录
1. 二维数据曲线图1.1 绘制二维曲线的基本函数1.plot()函数2.含多个输入参数的plot函数3.含选项的plot函数4.双纵坐标函数plotyy1.2 绘制图形的辅助操作1.图形标注2. 坐标控制1.3 绘制二维图形的其他函数1.对数坐标图2. 饼图3. 条形图4. 排列图2. 三维图形2.1 绘制三维曲线1.用plot3()函数画三维曲线2. 三维网格图的绘制2.2 三维表面图的绘制2.3 三维切片图的绘制

1. 二维数据曲线图

www.easck.com

1.1 绘制二维曲线的基本函数

1.plot()函数

plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。

例:

t=0:0.1:2*pi; x=2 * t; y=t.*sin(t).*sin(t); plot(x, y);

使用数学软件Matlab建模画图程序汇总

2.含多个输入参数的plot函数

plot函数可以包含若干组向量对,每一组可以绘制出一条曲线。含多个输入参数的plot函数调用格式为:plot(x1,y1,x2,y2,…,xn,yn)

例:

x=linspace(0,2*pi,100);plot(x,sin(x),x,2*sin(x),x,3*sin(x))

使用数学软件Matlab建模画图程序汇总

3.含选项的plot函数

Matlab提供了一些绘图选项,用于确定所绘曲线的线型、颜色和数据点标记符号。这些选项如表所示:

线型 颜色 标记符号
-实线 b蓝色 .点 s方块
:虚线 g绿色 o圆圈 d菱形
.-点划线 r红色 x叉 v朝下三角符号
–双划线 c青色 +加号 ^朝上三角符号
m品红 *星号 <朝左三角符号
y黄色 );grid;

使用数学软件Matlab建模画图程序汇总

2. 三维网格图的绘制

在 MATLAB 中,进行三维图形绘制时,常常需要首先创建三维网格,也就是先创建 平面图的坐标系。在 MATLAB 中,常用 meshgrid()函数生成网格数据,其调用格式如下。

[X,Y]=meshgrid(x,y):用于生成向量 x 和 y 的网格数据,即变换为矩阵数据 X 和 Y, 矩阵 X 中的行向量为向量 x,矩阵 Y 的列向量为向量 y。[X,Y]=meshgrid(x):生成向量 x 的网格数据,函数等同[X,Y]=meshgrid(x,x)

[X,Y,Z]=meshgrid(x,y,z) :生成向量 x、y、z 的三维网格数据,生成的数据 X 和 Y 可分别表示三维绘图中的 x 和 y 坐标。

三维网格图形是指在三维空间内连接相邻的数据点,形成网格。在MATLAB中绘制三维网格图的函数主要有mesh()函数、meshc()函数和meshz()函数。其中,mesh()函数最常 用,其调用格式如下:

mesh(x,y,z):绘制三维网格图,x、y、z 分别表示三维网格图形在 x 轴、y 轴和 z 轴 的坐标,图形的颜色由矩阵 z 决定。

mesh(Z):绘制三维网格图,分别以矩阵 Z 的列下标、行下标作为三维网格图的 x 轴、y 轴的坐标,图形的颜色由矩阵 Z 决定。

mesh(...,C):输入参数C用于控制绘制的三维网格图的颜色。mesh(...,'PropertyName',PropertyValue,...):设置三维网格图的指定属性的属性值。

函数 meshc()可绘制带有等值线的三维网格图,其调用格式与函数 mesh()基本相同, 但函数 meshc()不支持对图形网格线或等高线指定属性的设置。

函数 meshz()可绘制带有图形底边的三维网格图,其调用格式与函数 mesh()基本相同, 但函数 meshz()不支持对图形网格线指定属性的设置。

另外,函数ezmesh()ezmeshc()ezmeshz()可根据函数表达式直接绘制相应的三维网格图。

由于网格线是不透明的,绘制的三维网格图有时只能显示前面的图形部分,而后面的 部分可能被网格线遮住了,没有显示出来。 MATLAB中提供了命令 hidden 用于观察图形后面隐藏的网格,hidden 命令的调用格式如下:

hidden on:设置网格隐藏部分不可见,默认情况下为此状态。

hidden off:设置网格的隐藏部分可见。

hidden:该命令用于切换网格的隐藏部分是否可见。

例:绘制简单的三维网格图

% 数据准备 t=0:pi/10:pi; x=sin(t); y=cos(t);  [X,Y]=meshgrid(x,y); z =X + Y;    % 绘图 figure mesh (z,'FaceColor','W','EdgeColor','K')grid title('三维网格图'); 

使用数学软件Matlab建模画图程序汇总

2.2 三维表面图的绘制

三维表面图也可以用来表示三维空间内数据的变化规律,与之前讲述的三维网络图的 不同之处在于对网格的区域填充了不同的色彩。在 MATLAB 中绘制三维表面图的函数为 surf()函数,其调用格式如下:

surf(Z):绘制数据 Z 的三维表面图,分别以矩阵 Z 的列下标、行下标作为三维网格图的 x 轴、y 轴的坐标,图形的颜色由矩阵 Z 决定。

surf(X, Y, Z):绘制三维表面图,X、Y、Z 分别表示三维网格图形在 x 轴、y 轴和 z 轴的坐标,图形的颜色由矩阵 Z 决定。

surf(X, Y, Z, C):绘制三维表面图,输入参数 C 用于控制绘制的三维表面图的颜色。

surf(..., 'PropertyName', PropertyValue):绘制三维表面图,设置相应属性的属性值。

函数 surfc()用于绘制带等值线的三维表面图,其调用格式同函数 surf()基本相同,函数 surfl()可用于绘制带光照模式的三维表面图,与函数 surf()surfc()不同的调用格式如下:

surfl(...,'light'):以光照对象 light 生成一个带颜色、带光照的曲面。surfl(...,'cdata'):输入参数 cdata 设置曲面颜色数据,使曲面成为可反光的曲面。

surfl(...,s):输入参数 s 为一个二维向量[azimuth,elevation],或者三维向量[x,y,z],用于指定光源方向,默认情况下光源方位从当前视角开始,逆时针 45。

例:简单对 surf()函数进行举例

% 数据准备 xi=-10:0.5:10; yi=-10:0.5:10; [x,y]=meshgrid(xi,yi); z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2); % 绘图 surf(x,y,z) 

使用数学软件Matlab建模画图程序汇总

2.3 三维切片图的绘制

在MATLAB中slice()函数用于绘制三维切片图。三维切片图可形象地称为“四维图”,可以在三维空间内表达第四维的信息,用颜色来标识第四维数据的大小。slice()函数的调用格式如下:

slice(v, sx, sy, sz):输入参数 v 为三维矩阵(阶数为 m x n x p),x、y、z 轴默认状态下分别为 1:m、1:n、1:p,数据 v 用于指定第四维的大小,在切片图上显示为不同的颜色,输入参数 sx、sy、sz 分别用于指定切片图在 x、y、z 轴所切的位置。

slice(x ,y, z, v, sx, sy, sz):输入参数 x、y、z用于指定绘制的三维切片图的 x、y、z轴。

slice(...,'method'):输入参数method用于指定切片图绘制时的内插值法,'method' 可以设置的参数有:'linear'(三次线性内插值法,默认)、'cubic'(三次立方内插 值法)、'nearest'(最近点内插值法)。

例:观察函数在-2≤x≤2、-2≤y≤2、-2≤z≤2 上的体积情况

% 数据准备 xi=-10:0.5:10; yi=-10:0.5:10; [x,y]=meshgrid(xi,yi); z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2); [x,y,z] = meshgrid(-2:.2:2, -2:.25:2, -2:.16:2); v = x.*exp(-x.^2-y.^2-z.^2); xslice = [-1.2,.8,2]; yslice = 2; zslice = [-2,0]; % 绘图 slice(x,y,z,v,xslice,yslice,zslice) 

使用数学软件Matlab建模画图程序汇总

以上所述是小编给大家介绍的使用数学软件Matlab建模画图程序汇总,希望对大家有所帮助。在此也非常感谢大家对我们网站的支持!