MATLAB经典教程(全).ppt

上传人:小飞机 文档编号:5439280 上传时间:2023-07-07 格式:PPT 页数:193 大小:2.42MB
返回 下载 相关 举报
MATLAB经典教程(全).ppt_第1页
第1页 / 共193页
MATLAB经典教程(全).ppt_第2页
第2页 / 共193页
MATLAB经典教程(全).ppt_第3页
第3页 / 共193页
MATLAB经典教程(全).ppt_第4页
第4页 / 共193页
MATLAB经典教程(全).ppt_第5页
第5页 / 共193页
点击查看更多>>
资源描述

《MATLAB经典教程(全).ppt》由会员分享,可在线阅读,更多相关《MATLAB经典教程(全).ppt(193页珍藏版)》请在三一办公上搜索。

1、MATLAB基础讲解,DEP.Mathphy of JUSTWang Chengyi,2,MATLAB,1 MATLAB简介,3,Matlab 简介,在欧美各高等院校,Matlab 已经成为线性代数、数值分析、数理统计、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等课程的基本教学工具,已成为大学生必须掌握的基本技能之一。Matlab 功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。,Matlab是一种广泛应用于工程计算及数值分析领域的新型高级语言,自 1984 年推向市场以来,历经二十多年的发展与竞争,现已成为国际公认的最优秀的工程应用开发环境。,4,Matlab

2、 简介,Matlab:Matrix Laboratory 矩阵实验室,Matlab 的发展,1980年,Moler 教授用 Fortran 语言编写了集命令翻译、科学计算于一身的一套交互式软件系统。,1984年,Moler 等成立了 The MathWorks 的公司,用 C 语言完全改写 Matlab,并推出第一个商业版。,增添图形图像处理、符号运算、以及与其他流行软件 的接口功能,使得 Matlab 的功能越来越强大。,到九十年代,在国际上 30 几个数学类科技应用软件中,Matlab 在数值计算方面独占鳌头。,5,目前,Matlab 已成为世界顶尖的数学应用软件,以其强大的工程计算、算法

3、研究、工程绘图、应用程序开发、数据分析和动态仿真等功能,在航空航天、机械制造和工程建筑等领域发挥着越来越重要的作用。就影响而言,至今仍然没有一个别的计算软件可与 Matlab 匹敌。,Matlab 的发行,1984年,Matlab 1.0(DOS版,182K,20多个函数)1992年,Matlab 4.0(93年推出Windows版,加入 simulink)1994年,Matlab 4.2(得到广泛重视和应用)1999年,Matlab 5.3(真正实现32位运算)2002年,Matlab 6.5(采用JIT加速器)2004年,Matlab 7.0自2006年起,Matlab每年更新两次,Mat

4、lab 简介,6,购买(下载)Matlab 软件,Matlab 的安装,插入光盘,自动运行;或点击安装程序 setup.exe,必须安装的部件 Matlab Symbolic Math Toolbox Extended Symbolic Math,这里以 Matlab 为例 自 R2008a 开始增加了激活要求,7,Matlab 的特点与功能,Matlab 具有很强的数值计算功能,Matlab 以矩阵作为数据操作的基本单位,但无需预先指定矩阵维数(动态定维),按照 IEEE 的数值计算标准进行计算,提供十分丰富的数值计算函数,方便计算,提高效率,Matlab 命令与数学中的符号、公式非常接近,

5、可读性强,容易掌握,Matlab 是一个交互式软件系统,输入一条命令,立即就可以得出该命令的结果,8,Matlab 的特点与功能,Matlab 符号计算功能,Matlab 和著名的符号计算语言 Maple 相结合,Matlab 的编程功能,Matlab具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。通过 Matlab 进行编程完成特定的任务,Matlab 的绘图功能,Matlab提供丰富的绘图命令,很方便实现数据的可视化,9,Matlab 丰富的工具箱(toolbox),Matlab 的特点与功能,根据专门领域中的特殊需要而设计的各种可选工具箱

6、,Matlab 的 Simulink 动态仿真集成环境,提供建立系统模型、选择仿真参数和数值算法、启动仿真程序对该系统进行仿真、设置不同的输出方式来观察仿真结果等功能,10,Matlab 的基本用法,Matlab 系统的启动,使用 Windows“开始”菜单 运行 Matlab 系统启动程序 matlab 双击 Matlab 快捷图标,Matlab 系统的退出,在 Matlab 主窗口 File 菜单中选择 Exit Matlab 在 Matlab 命令窗口输入 exit 或 quit 单击 Matlab 主窗口的“关闭”按钮,11,Matlab 的工作界面,命令窗口,当前工作目录,当前工作空

7、间,输入命令的历史记录,命令提示符,12,定义矩阵:直接输入法,矩阵用方括号“”括起,例:A=1 2 3;4 5 6;7 8 9,矩阵同一行中的元素之间用 空格 或 逗号 分隔,矩阵行与行之间用 分号 分开,直接输入法中,分号可以用 回车 代替,例:,矩阵,Matlab 的操作对象是 矩阵,:命令提示符,不用输入 回车:运行所输入的命令,13,矩阵元素可以是任何数值表达式,例:x=-1.3,sqrt(3),(1+2+3)*4/5,矩阵元素赋值,矩阵元素的单独赋值,例:x(5)=abs(x(1),例:x(5)=abs(x(6)?,Matlab自动将向量 x 的长度扩展到 5,并将未赋值部分置零。

8、,14,大矩阵可以把小矩阵作为其元素,矩阵元素赋值,例:A=A;11 12 13,在原矩阵的下方加一行,如何在原矩阵的右边添加一列?,15,单个元素的引用,例:A(2,3),矩阵元素的引用,多个元素的引用:冒号的特殊用法,利用小括弧和元素所在的位置(下标),x(i):向量 x 中的第 i 个元素A(i,j):矩阵 A 中的第 i 行,第 j 列元素,例:x=3:2:1,16,例:x(1:3)A(3,1:3),矩阵元素的引用,A(i:j,m:n)表示由矩阵 A 的第 i 到第 j 行和第 m 到第 n列交叉线上的元素组成的子矩阵。,可利用冒号提取矩阵 的整行或整列。,例:A(1,:)A(:,1:

9、3)A(:,:),17,Matlab帮助系统,18,Matlab 查找命令,lookfor 按指定的关键词查询与之相关的命令,例:lookfor inverse,19,变量命名原则,Matlab 变量,20,分号和续行符的作用,Matlab 变量,若不想在屏幕上输出结果,可以在语句最后加分号,如果语句很长,可用续行符“”(三个点)续行 续行符的前面最好留一个空格,例:,21,变量的查询,Matlab 变量,who 显示工作空间中的所有变量,whos 查看工作空间中变量的详细属性,22,系统预定义变量,Matlab 变量,pi:圆周率,其值为 imag(log(-1),inf,Inf:无穷大,n

10、an,NaN:Not-a-Number,一个不定值,如 0/0,eps:浮点运算相对精度,特殊变量 ans,i,j:虚部单位,即,应尽量避免给系统预定义变量重新赋值!,23,数与算术表达式,Matlab 数值运算,浮点运算的相对误差为 eps,浮点数表示范围为:10-308 10308,复数作为矩阵元素输入时,加号两边不能有空格!,24,数学运算符,+加法,Matlab 数值运算,-减法,*乘法,/和 除法(右除和左除),幂运算,命令分隔符:逗号和分号,25,输出格式,Matlab 的输出,Matlab 以双精度执行所有的运算,运算结果可以在屏幕上输出,同时赋给指定变量;若无指定变量,则系统会

11、自动将结果赋给变量“ans”,Matlab 中数的输出格式可以通过 format 命令指定,format 只改变变量的输出格式,但不会影响变量的值!,26,各种 format 格式,Dr WangZhengsheng-Lecture Notes,27,变量的存储,存储当前工作空间中的变量,save 将所有变量存入文件 matlab.mat,save mydata 将所有变量存入指定文件 mydata.mat,存储指定的变量,save mydata.mat 将所有变量存入文件 mydata.mat,save 文件名 变量名列表,例:save mydata A x z,变量名列表中各变量之间用空格

12、分隔,28,变量的读取,清除当前工作空间中的变量,clear 清除当前工作空间中的所有变量,clear A x 清除指定的变量,Dr WangZhengsheng-Lecture Notes,29,几个小技巧,Matlab 的命令记忆功能:上下箭头键,命令补全功能:Tab 键,可以先输入命令的前几个字符,再按上下键缩小搜索范围,用 Esc 键 删除命令行,Dr WangZhengsheng-Lecture Notes,30,Lecture 2 MATLAB矩阵(数值)运算,Dr WangZhengsheng-Lecture Notes,31,利用函数建立数值矩阵:MATLAB提供了许多生成和操

13、作矩阵的函数,可以利用它们去建立矩阵。例如:reshape函数和diag函数等。reshape函数用于建立数值矩阵。diag函数用于产生对角阵。,利用M文件建立矩阵:对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。其步骤为:第一步:使用编辑程序输入文件内容。第二步:把输入的内容以纯文本方式存盘(设文件名为 mymatrix.m)。第三步:在MATLAB命令窗口中输入mymatrix,就会自动建立一个名为AM的矩阵,可供以后显示和调用。,建立矩阵,Dr WangZhengsheng-Lecture Notes,32,利用M文件建立矩阵:对于比较大且比较复杂的矩阵,可以为它专门建立一个M文

14、件。其步骤为:第一步:使用编辑程序输入文件内容。第二步:把输入的内容以纯文本方式存盘(设文件名为mymatrix.m)。第三步:在MATLAB命令窗口中输入mymatrix,就会自动建立一个名为AM的矩阵,可供以后显示和调用。子矩阵操作,建立矩阵,Dr WangZhengsheng-Lecture Notes,33,2矩阵的基本运算()矩阵转置()矩阵加和减()矩阵乘法()矩阵除法 Ab=inv(A)*b()矩阵的乘方 a2,Dr WangZhengsheng-Lecture Notes,34,3矩阵的函数 help matfun Matrix functions-numerical line

15、ar algebra.Matrix analysis.norm-Matrix or vector norm.normest-Estimate the matrix 2-norm.rank-Matrix rank.det-Determinant.trace-Sum of diagonal elements.null-Null space.orth-Orthogonalization.rref-Reduced row echelon form.subspace-Angle between two subspaces.,Dr WangZhengsheng-Lecture Notes,35,3矩阵的函

16、数 Linear equations.and/-Linear equation solution;use help slash.inv-Matrix inverse.rcond-LAPACK reciprocal condition estimator cond-Condition number with respect to inversion.condest-1-norm condition number estimate.normest1-1-norm estimate.chol-Cholesky factorization.cholinc-Incomplete Cholesky fac

17、torization.lu-LU factorization.luinc-Incomplete LU factorization.qr-Orthogonal-triangular decomposition.lsqnonneg-Linear least squares with nonnegativity constraints.pinv-Pseudoinverse.lscov-Least squares with known covariance.,36,3矩阵的函数 Eigenvalues and singular values.eig-Eigenvalues and eigenvecto

18、rs.svd-Singular value decomposition.gsvd-Generalized singular value decomposition.eigs-A few eigenvalues.svds-A few singular values.poly-Characteristic polynomial.polyeig-Polynomial eigenvalue problem.condeig-Condition number with respect to eigenvalues.hess-Hessenberg form.qz-QZ factorization for g

19、eneralized eigenvalues.schur-Schur decomposition.,37,3矩阵的函数 Matrix functions.expm-Matrix exponential.logm-Matrix logarithm.sqrtm-Matrix square root.funm-Evaluate general matrix function.Factorization utilities qrdelete-Delete a column or row from QR factorization.qrinsert-Insert a column or row into

20、 QR factorization.rsf2csf-Real block diagonal form to complex diagonal form.cdf2rdf-Complex diagonal form to real block diagonal form.balance-Diagonal scaling to improve eigenvalue accuracy.planerot-Givens plane rotation.cholupdate-rank 1 update to Cholesky factorization.qrupdate-rank 1 update to QR

21、 factorization.,Dr WangZhengsheng-Lecture Notes,38,4建立矩阵的函数常用函数有:eye(size(A)产生与A矩阵同阶的单位矩阵zeros(m,n)产生0矩阵ones(m,n)产生幺矩阵 rand(m,n)产生随机元素的矩阵Size(a)返回包含两个元素的向量。Length(a)返回向量的长度。,Dr WangZhengsheng-Lecture Notes,39,常见矩阵生成函数,Dr WangZhengsheng-Lecture Notes,40,5数组运算(1)数组的加和减(2)数组的乘和除(3)数组的乘方,Dr WangZhengshe

22、ng-Lecture Notes,41,6 应用举例,1、行列式计算;2、求解线性方程组;3、解特征值问题,Dr WangZhengsheng-Lecture Notes,42,Lecture 3 MATLAB图形与可视化(Graphic),Dr WangZhengsheng-Lecture Notes,43,Lecture 3 Matlab图形可视化,基本要求(1)掌握图形窗口的创建与控制,以及图形窗口的基本操作;(2)熟练掌握二维和三维绘图基本的命令、线型控制;(3)初步掌握用特殊的图形来表现特殊数据的性质,如面积图、直方 图、饼图等。(4)掌握坐标轴的控制和图形标注命令及其用法。,Dr

23、WangZhengsheng-Lecture Notes,44,Lecture 3 Matlab图形可视化,A、二维平面图形与坐标系 1.几个基本的绘图命令 a.线性坐标曲线 plot 函数命令 plot 是 MATLAB 二维曲线绘图中最简单、最重要、使用最广泛的一个线性绘图函数。它可以生成线段、曲线和参数方程曲线的函数图形。命令格式:plot(X,Y)plot(x1,y1,x2,y2,):综合调用方式,Dr WangZhengsheng-Lecture Notes,45,Lecture 3 Matlab图形可视化,用命令 plot(x,y)绘制函数 y=cos(x)在两个周期内的图形。x=

24、0:0.01:2*pi;y=cos(x);plot(x,y)在同一图形窗口中用命令 plot(x,y)绘出正弦余弦函数的图形。x=0:0.01:2*pi;y=sin(x);cos(x);plot(x,y),Dr WangZhengsheng-Lecture Notes,46,Lecture 3 Matlab图形可视化,二维函数曲线专用命令 fplot用plot绘图在确定自变量的取值间隔时,一般采用平均间隔,有时会因某处 间距太大,而不能反映出函数的变化情况。fplot是绘制函数 y=f(x)图形的专用命令,它的数据点是自适应产生的,对那些导数变化较大的函数,用 fplot 函数绘出的曲线比等分

25、取点所画出的曲线更加接近真实。fplot 函数命令的调用格式为:X,Y=fplot(fun,lims)fun:函数名字符串;lims:定义 x 的取值区间,lims=xmin,xmax;二维函数曲线专用命令 ezplot,Dr WangZhengsheng-Lecture Notes,47,Lecture 3 Matlab图形可视化,2.线型和颜色 plot 函数可以设置曲线的线段类型、定点标记和线段颜色。,常用的线段、颜色与定点标记参数,Dr WangZhengsheng-Lecture Notes,48,调用格式:plot(x,y,s),s 为类型说明参数,是字符串。s 字符串可以是三种类

26、型的符号之一,也可以是线型与颜色和定点标记与颜色的组合;如果没有 s 参数,plot 将使用缺省设置(实线,前七种颜色顺序着色)绘制曲线;在当前坐标系中绘图时,每调入一次绘图函数,MATLAB将擦掉坐标系中已有的图形对象。可以用 hold on 命令在一个坐标系中增加新的图形对象。注意MATLAB会根据新图形的大小,重新改变坐标系的比例。用不同的线型和标注来绘制两条曲线。t1=0:0.1:2*pi;t2=0:0.1:6;y1=sin(t1);y2=sqrt(t2);plot(t1,y1,:hb,t2,y2,-g),Lecture 3 Matlab图形可视化,Dr WangZhengsheng-

27、Lecture Notes,49,Lecture 3 Matlab图形可视化,3.图形窗口的分割 有时需要在一个图形窗口中显示几幅图,以便对几个函数进行直观、便捷的比较。由于每个绘图命令在绘制数据图像时都会将已有图形覆盖掉,而用 hold 命令不能实现同时显示几个不同坐标尺寸下的图形,用 figure 命令再创窗口又很难同时比较由不同的数据绘得的图像。实现在同一个窗口中同时显示多个图像的命令subplot。使用格式为:subplot(m,n,i)其含义为:把图形窗口分割为 m 行 n 列子窗口,然后选定第 i 个窗口为当前窗口。subplot 命令不仅用于二维图形,对三维图形一样适用。其本质是

28、将 figure 窗口分为几个区域,再在每个区域内分别绘图。,Dr WangZhengsheng-Lecture Notes,50,Lecture 3 Matlab图形可视化,用 subplot 函数把两种不同的图形综合在一个图形窗口中。subplot(2,2,1)t=0.1:0.1:2*pi;y=sin(t);semilogx(t,y)grid on subplot(2,2,2)t=0:0.1:4*pi;y=sin(t);plot(t,y)subplot(2,2,3)x=1:0.01:5;y=exp(x);plotyy(x,y,x,y,semilogx,plot)subplot(2,2,4)

29、x=1:0.1:10;y=sqrt(x);plot(x,y,:rd),Dr WangZhengsheng-Lecture Notes,51,Lecture 3 Matlab图形可视化,4.坐标系的调整 实现坐标系的调整的命令是 axis 函数。调用格式为:axis(xmin,xmax,ymin,ymax,zmin,zmax)坐标的最小值(xmin,ymin,zmin)必须小于相应的最大值(xmax,ymax,zmax),否则会出错。自动坐标系与用 axis 函数调整后的坐标系的比较。subplot(2,1,1)t=0:0.1:4*pi;y=sin(t);plot(t,y)subplot(2,1

30、,2)t=0:0.1:4*pi;y=sin(t);plot(t,y)axis(0,max(t),min(y),max(y),Dr WangZhengsheng-Lecture Notes,52,Lecture 3 Matlab图形可视化,B、三维绘图 1.三维曲线绘图命令 三维函数 plot3主要用来表现单参数的三维曲线,与二维绘图函数 plot 相比,只多了第三维数据。其调用格式为:plot3(X1,Y1,Z1,s1,X2,Y2,Z2,s2,)参数的含义如下:Xn、Yn、Zn:第一到三维数据,是尺寸相等的向量/矩阵;s、s1、s2:是字符串,用来设置线型、颜色、数据点标记。,Dr WangZ

31、hengsheng-Lecture Notes,53,Lecture 3 Matlab图形可视化,x、y、z 是向量时,plot3 命令的使用t=0:0.1:8*pi;plot3(sin(t),cos(t),t)title(绘制螺旋线)%用命令 title 对图形主题进行标注 xlabel(sin(t),FontWeight,bold,FontAngle,italic)ylabel(cos(t),FontWeight,bold,FontAngle,italic)zlabel(t,FontWeight,bold,FontAngle,italic)%命令 zlabel 用来指定 z 轴的数据名称

32、grid onx、y、z 都是矩阵时,plot3 命令的使用X,Y=meshgrid(-pi:0.1:pi);Z=sin(X)+cos(Y);plot3(X,Y,Z),Dr WangZhengsheng-Lecture Notes,54,Lecture 3 Matlab图形可视化,2.三维曲面绘图命令 为了绘制定义在平面区域 D=x0,xmy0,yn 上的三维曲面z=f(x,y),首先将x0,xm在 x 方向分成 m 份,将y0,yn在 y 方向分成 n 份,由各划点分别作平行于坐标轴的直线,将区域 D 分成 mn 个小矩形;对于每个小矩形,计算出网格点的函数值,决定出空间中四个顶点(xi,y

33、i,f(xi,yi)),连接四个顶点得到一个空间的四边形片;所有四边形片连在一起构成函数 z=f(x,y)定义在区域 D 上的空间网格曲面。因此,三维曲面绘图命令可分为平面网格点的生成、在平面网格基础上绘制三维网格及对三维表面进行处理三个步骤。,Dr WangZhengsheng-Lecture Notes,55,a.平面网格点的生成函数命令meshgrid 用来生成 x-y 平面上的网格点矩阵。调用形式为:X,Y=meshgrid(x,y)X,Y=meshgrid(x)等价于X,Y=meshgrid(x,x)参数含义如下:x:是区间x0,xm上分划的向量;y:是区间y0,yn上分划的向量;X

34、,Y:输出变量矩阵,矩阵 X 的行向量都是向量 x,矩阵 Y 的列向量都是向量 y。函数 meshgrid 将由两个向量决定的区域转换为对应的网格点矩阵。,Lecture 3 Matlab图形可视化,Dr WangZhengsheng-Lecture Notes,56,Lecture 3 Matlab图形可视化,函数,定义区域为-2,2-2,2。生成网格并计算其网格点上的函数值。X,Y=meshgrid(-2:2:2,-2:2:2);X,Y%将划分结果输出至矩阵 ans=-2 0 2-2-2-2-2 0 2 0 0 0-2 0 2 2 2 2 Z=X.*exp(-X.2-Y.2);%计算网格点

35、上的函数值赋予变量 Z Z=-0.0007 0 0.0007-0.0366 0 0.0366-0.0007 0 0.0007,Dr WangZhengsheng-Lecture Notes,57,Lecture 3 Matlab图形可视化,b.三维网格命令 mesh利用函数mesh生成网格曲面。调用格式为:mesh(X,Y,Z,C):X、Y、Z、C 是同维数的矩阵,X、Y、Z 对应空间上的网格点,网格线颜色由C决定;mesh(X,Y,Z):相当于上面的 C=Z 的情况;mesh(x,y,Z,C):x 和 y 是向量,Z 和 C 是同维数的矩阵,网格曲面的网格顶点是(x(j),y(i),Z(i,

36、j)),网格线的颜色由矩阵 C 决定;mesh(x,y,Z):相当于上面的 C=Z 的情况;mesh(Z,C):等价于 mesh(x,y,Z,C),此时向量x=1:n,向量 y=1:m;mesh(Z):相当于上面的 C=Z 的情况mesh(.,PropertyName,PropertyValue,.):给函mesh设置曲面属性。,Dr WangZhengsheng-Lecture Notes,58,Lecture 3 Matlab图形可视化,用 mesh 命令绘制上例中的网格曲面。X,Y=meshgrid(-2:.2:2,-2:.2:2);Z=X.*exp(-X.2-Y.2);mesh(Z),

37、与 mesh 相关的另外两个函数是 meshc 和 meshz,它们的调用形式与 mesh 相同。,Dr WangZhengsheng-Lecture Notes,59,Lecture 3 Matlab图形可视化,c.三维表面命令 surf函数 surf 可实现对网格曲面片进行着色,将网格曲面转化为实曲面。surf 命令的调用格式与 mesh 相同。利用三维网格表面命令 surf 绘制图形。z=peaks;%绘制山峰的图像,将函数值赋予变量z surf(z)%对山峰的图像进行着色处理shading interp%函数 shading 改变着色方式,Dr WangZhengsheng-Lectu

38、re Notes,60,Lecture 3 Matlab图形可视化,3.等高线图形的绘制 4.三维视图可视效果的控制5.柱面和球面的三维表达(书),Dr WangZhengsheng-Lecture Notes,61,Lecture 3 Matlab图形可视化,a.柱面的表达cylinder cylinder命令中,柱面的轴线定义为 z 轴,只要给出母线的描述就可完成一个柱面。调用格式为:X,Y,Z=cylinder(R,N);X,Y,Z=cylinder(R):缺省值 N=20;X,Y,Z=cylinder:缺省值 N=20,R=1,1。R:是一描述柱面母线的向量;N:是旋转柱面上的分割线条

39、数;X,Y,Z:是返回的x,y,z坐标向量。绘制一个柱面。t=pi:0.01:3*pi;r=sin(t)+t;cylinder(r,30)shading interp,Dr WangZhengsheng-Lecture Notes,62,Lecture 3 Matlab图形可视化,b.球面的表达sphere 调用格式为:X,Y,Z=sphere(N):产生一个(N+1)(N+1)的矩阵,然后用函数 surf 命令绘制一个单位的球面,N 为设置分割线的条数;X,Y,Z=sphere:缺省值 N=20。画一个球面。X,Y,Z=sphere;surf(X,Y,Z),Dr WangZhengsheng

40、-Lecture Notes,63,Lecture 3 Matlab图形可视化,四、特殊图形绘制为了将抽象的数据表达得更形象,除了绘制二维、三维图形外,还要用到直方图、面积图、饼图等特殊图形。,特殊图形指令,Dr WangZhengsheng-Lecture Notes,64,Lecture 3 Matlab图形可视化,1.面积图命令 area 表现各个不同部分对整体所作的贡献 area(X,Y):与 plot 的命令的使用方法相似,将连线图到 x 轴的那部分填上了颜色;area(Y):缺省值 X=1:SIZE(Y);area(X,Y,LEVEL)或 area(Y,LEVEL):填色部分为由连

41、线图到 y=level 的水平线之间的部分。绘制一面积图 X=-2:2;Y=3,5,2,4,1;5,4,2,3,5;3,4,5,2,1;area(X,Y)legend(因素 1,因素 2,因素 3)grid on,Dr WangZhengsheng-Lecture Notes,65,Lecture 3 Matlab图形可视化,2.直方图命令 bar 直方图常用于统计数据的作图,有bar、bar3、barh 和 bar3h几种函数,其调用格式类似。以函数 bar 为例:bar(X,Y):X 是横坐标向量,Y 可以是向量或矩阵。Y 是向量时,每一个元素对应一个竖条;Y 是 m 行 n 列矩阵时,将

42、画出 m 组竖条,每组包括 n 个竖条;bar(Y):横坐标使用缺省值 X=1:M;bar(X,Y,WIDTH)或 bar(Y,WIDTH):用 WIDTH 指定竖条的宽度,如果 WIDTH1,条与条之间将重合。缺省宽度为 0.8;bar(.,grouped):产生缺省的组合直方图;bar(.,stacked):产生累积的直方图;bar(.,linespec):指定条的颜色;H=bar(.):返回条形图对象的句柄。,Dr WangZhengsheng-Lecture Notes,66,Lecture 3 Matlab图形可视化,用绘制直方图的几种命令绘制直方图。X=-2:2;Y=3,5,2,4

43、,1;5,4,2,3,5;3,4,5,2,1;subplot(2,2,1)bar(X,Y,r)xlabel(x)ylabel(y)colormap(cool)subplot(2,2,2)barh(X,Y,grouped)xlabel(y)ylabel(x)colormap(cool)subplot(2,2,3)bar(X,Y,stacked)xlabel(x)ylabel(Sigma y)colormap(summer),subplot(2,2,4)barh(X,Y,stacked)xlabel(y);ylabel(Sigma x)colormap(summer),Dr WangZhengsh

44、eng-Lecture Notes,67,Lecture 3 Matlab图形可视化,绘制三维直方图。X=-2:2;Y=3,5,2,4,1;5,4,2,3,5;3,4,5,2,1;subplot(2,2,1)bar3(X,Y,r)zlabel(y)ylabel(x)colormap(cool)subplot(2,2,2)bar3h(X,Y,grouped)ylabel(x)zlabel(y)colormap(cool)subplot(2,2,3)bar3(X,Y,stacked)ylabel(x)zlabel(Sigma y)colormap(summer),subplot(2,2,4)bar

45、3h(X,Y,stacked)zlabel(x)ylabel(Sigma y)colormap(summer),Dr WangZhengsheng-Lecture Notes,68,Lecture 3 Matlab图形可视化,3.饼图命令 pie 饼图又叫扇形图,用于显示向量中元素所占向量元素总和的百分比。pie 和 pie3分别用于绘制二维和三维饼图。调用格式:pie(X):向量 X 的饼图。把 X 的每一个元素在所有元素总和中占的比例表达出来;pie(X,EXPLODE):向量EXPLODE(和向量X长度相等)用于指定饼图中抽出一部分的块(非零值对应的块);pie(.,LABELS):LA

46、BELS 是用于标注饼图的字符串数组,其长度必须和向量 X相等;H=pie(.):返回包括饼图和文本对象句柄。,Dr WangZhengsheng-Lecture Notes,69,用函数 pie 和 pie3 绘制饼图。x=200,360,120,400,320;subplot(2,2,1),pie(x,0 0 0 1 0)subplot(2,2,2),pie3(x,0 0 0 1 0)subplot(2,2,3),pie(x(2:5)subplot(2,2,4),x=0.1,0.12,0.21,0.34,0.11;pie3(x,A,B,C,D,E),Lecture 3 Matlab图形可视

47、化,Dr WangZhengsheng-Lecture Notes,70,Lecture 3 Matlab图形可视化,五、极坐标、柱坐标和球坐标系下绘制图形1.极坐标系下绘制图形 ploar是直接在极坐标系下绘图的命令调用格式为:ploar(THETA,RHO,S)其中 S 是字符串,用来控制图形的线型。绘制半径为 2 的渐开线。rhe=2;theta=0:pi/20:4*pi;rho=rhe+theta*rhe;polar(theta,rho,r),Dr WangZhengsheng-Lecture Notes,71,Lecture 3 Matlab图形可视化,六、坐标轴的调整和图形的标注1

48、.坐标轴调整命令,Dr WangZhengsheng-Lecture Notes,72,Lecture 3 Matlab图形可视化,2.图形标注坐标轴和图形标题标注 标注坐标轴 x、y 和 z 的命令函数为 xlabel、ylabel 和 zlabel,调用格式为:xlabel(text)xlabel(text,Property1,PropertyValue1,Property2,PropertyValue2,.)H=xlabel(.)返回坐标轴标注的句柄。其中,text是要添加的标注文本。Property是文本的属性名,PropertyValue是属性值(所用字体、大小、标注角度等)。图形加

49、标题的函数为 title,其调用格式与坐标轴标注类似。,Dr WangZhengsheng-Lecture Notes,73,Lecture 3 Matlab图形可视化,b.图例的标注 legend命令实现不同图例的说明。其调用格式为:legend(string1,string2,string3,.)legend(string1,string2,string3,.,Pos)按顺序把字符串添加到相应的曲线线型符号之后;Pos对图例的位置作出设置和调整:0=自动把图例置于最佳位置(和图中曲线重复最少);1=置于图形窗口的右上角(缺省值);2=置于图形窗口的左上角;3=置于图形窗口的左下角;4=置于

50、图形窗口的右下角;-1=置于图形窗口的右侧(外部)。,Dr WangZhengsheng-Lecture Notes,74,3.控制分格线对二维和三维图形都适用。有三种用法:grid on:打开分格线控制开关,以后绘制的图形都带有分格线;grid off:关闭分格线控制开关,以后绘制的图形都不带分格线;grid:用于实现分格线绘制切换。,Lecture 3 Matlab图形可视化,Dr WangZhengsheng-Lecture Notes,75,Lecture 3 Matlab图形可视化,绘制图形,并用函数 xlabel、title 和 legend 命令进行标注。t=0:0.1:4*pi

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号