版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 MATLABMATLAB 1 MATLAB1 MATLAB简介简介 2 Matlab 简介 q 在欧美各高等院校,Matlab 已经成为线性代数、数值分 析、数理统计、自动控制理论、数字信号处理、时间序列分 析、动态系统仿真、图像处理等课程的基本教学工具,已成 为大学生必须掌握的基本技能之一。Matlab 功能强大、简单 易学、编程效率高,深受广大科技工作者的欢迎。 q Matlab是一种广泛应用于工程计算及 数值分析领域的新型高级语言,自 1984 年推向市场以来,历经二十多年 的发展与竞争,现已成为国际公认的最 优秀的工程应用开发环境。 3 Matlab 简介 q Matlab: Ma
2、trix Laboratory 矩阵实验室 q Matlab 的发展的发展 l 1980年,Moler 教授用 Fortran 语言编写了集命令翻译、 科学计算于一身的一套交互式软件系统。 l 1984年,Moler 等成立了 The MathWorks 的公司,用 C 语言完全改写 Matlab,并推出第一个商业版。 l 增添图形图像处理、符号运算、以及与其他流行软件 的接口功能,使得 Matlab 的功能越来越强大。 l 到九十年代,在国际上 30 几个数学类科技应用软件中, Matlab 在数值计算方面独占鳌头。 4 q 目前,Matlab 已成为世界顶尖的数学应用软件,以其强大 的工程
3、计算、算法研究、工程绘图、应用程序开发、数据分 析和动态仿真等功能,在航空航天、机械制造和工程建筑等 领域发挥着越来越重要的作用。就影响而言,至今仍然没有 一个别的计算软件可与 Matlab 匹敌。 q 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 自20
4、06年起,Matlab每年更新两次 Matlab 简介 5 q 购买(下载)Matlab 软件 Matlab 的安装 q 插入光盘,自动运行; 或点击安装程序 setup.exe n 必须安装的部件 Matlab Symbolic Math Toolbox Extended Symbolic Math l 这里以 Matlab 7.0.4 为例 l 自 R2008a 开始增加了激活要求 6 Matlab 的特点与功能 q Matlab 具有很强的数值计算功能具有很强的数值计算功能 l Matlab 以以矩阵矩阵作为数据操作的基本单位,作为数据操作的基本单位, 但无需预先指定矩阵维数(但无需预先
5、指定矩阵维数(动态定维动态定维) l 按照按照 IEEE 的数值计算标准进行计算的数值计算标准进行计算 l 提供十分丰富的数值计算函数,方便计算,提高效率提供十分丰富的数值计算函数,方便计算,提高效率 l Matlab 命令与数学中的符号、公式非常接近,命令与数学中的符号、公式非常接近, 可读性强,容易掌握可读性强,容易掌握 q Matlab 是一个交互式软件系统是一个交互式软件系统 输入一条命令,立即就可以得出该命令的结果输入一条命令,立即就可以得出该命令的结果 7 Matlab 的特点与功能 q Matlab 符号计算功能符号计算功能 Matlab 和著名的符号计算语言和著名的符号计算语言
6、 Maple 相结合相结合 q Matlab 的编程功能的编程功能 Matlab具有具有程序结构控制程序结构控制、函数调用函数调用、数据结构数据结构、输入输输入输 出出、面向对象面向对象等程序语言特征,而且等程序语言特征,而且简单易学简单易学、编程效率编程效率 高高。通过。通过 Matlab 进行编程完成特定的任务进行编程完成特定的任务 q Matlab 的绘图功能的绘图功能 Matlab提供丰富的绘图命令,提供丰富的绘图命令, 很方便实现数据的可视化很方便实现数据的可视化 8 q Matlab 丰富的工具箱(丰富的工具箱(toolbox) Matlab 的特点与功能 根据专门领域中的特殊需要
7、而设计的各种可选工具箱根据专门领域中的特殊需要而设计的各种可选工具箱 q Matlab 的的 Simulink 动态仿真集成环境动态仿真集成环境 提供建立系统模型、选择仿真参数和数值算法、启动仿提供建立系统模型、选择仿真参数和数值算法、启动仿 真程序对该系统进行仿真、设置不同的输出方式来观察真程序对该系统进行仿真、设置不同的输出方式来观察 仿真结果等功能仿真结果等功能 Symbolic Math PDE Optimization Signal process Image Process Statistics Control System System Identification 9 Matl
8、ab 的基本用法 q Matlab 系统的启动系统的启动 l 使用使用 Windows “开始开始” 菜单菜单 l 运行运行 Matlab 系统启动程序系统启动程序 matlab l 双击双击 Matlab 快捷图标快捷图标 q Matlab 系统的退出系统的退出 l 在在 Matlab 主窗口主窗口 File 菜单中选择菜单中选择 Exit Matlab l 在在 Matlab 命令窗口输入命令窗口输入 exit 或或 quit l 单击单击 Matlab 主窗口的主窗口的“关闭关闭”按钮按钮 10 Matlab 的工作界面 命令窗口命令窗口 当前工当前工 作目录作目录 当前工当前工 作空间
9、作空间 输入命令的输入命令的 历史记录历史记录 命令命令 提示符提示符 11 q 定义矩阵:直接输入法定义矩阵:直接输入法 l 矩阵用方括号矩阵用方括号 “ ” 括起括起 例:例: A = 1 2 3; 4 5 6; 7 8 9 l 矩阵同一行中的元素之间用矩阵同一行中的元素之间用 空格空格 或或 逗号逗号 分隔分隔 l 矩阵行与行之间用矩阵行与行之间用 分号分号 分开分开 l 直接输入法中,分号可以用直接输入法中,分号可以用 回车回车 代替代替 例:例: 矩阵 q Matlab 的操作对象是的操作对象是 l 12 q 矩阵元素可以是任何数值表达式矩阵元素可以是任何数值表达式 例:例: x=-
10、1.3, sqrt(3), (1+2+3)*4/5 矩阵元素赋值 q 矩阵元素的单独赋值矩阵元素的单独赋值 例:例: x(5)=abs(x(1) 例:例: x(5)=abs(x(6) ? 自动将向量自动将向量 x 的长度扩展到的长度扩展到 5, 并将未赋值部分置零。并将未赋值部分置零。 13 q 大矩阵可以把小矩阵作为其元素大矩阵可以把小矩阵作为其元素 矩阵元素赋值 例:例: A=A ; 11 12 13 在原矩阵的下方加一行在原矩阵的下方加一行 如何在原矩阵的右边添加一列?如何在原矩阵的右边添加一列? 14 q 单个元素的引用单个元素的引用 例:例: A(2,3) 矩阵元素的引用 q 多个元
11、素的引用:冒号的特殊用法多个元素的引用:冒号的特殊用法 利用小括弧和元素所在的位置利用小括弧和元素所在的位置(下标下标) x ( i ) :向量向量 x 中的第中的第 i 个元素个元素 A ( i, j ) :矩阵矩阵 A 中的第中的第 i 行,第行,第 j 列元素列元素 a:b:c产生一个由产生一个由等差序列等差序列组成的向量;组成的向量; a 是首项,是首项,b 是公是公 差,差,c 确定确定最后一项;若最后一项;若 b=1,则则 b 可以省略。可以省略。 例:例: x=1:2:5 y=1:2:6 例:例: x=2:1:5 y=2:5 例:例: x=3:2:1 15 例:例: x(1:3)
12、 A(3,1:3) 矩阵元素的引用 A(i:j, m:n) 表示由矩阵表示由矩阵 A 的第的第 i 到第到第 j 行和第行和第 m 到第到第 n 列交叉线上的元素组成的列交叉线上的元素组成的子矩阵子矩阵。 可利用冒号提取矩阵可利用冒号提取矩阵 的整行或整列。的整行或整列。 例:例: A(1, :) A(:, 1:3) A(:, :) 16 Matlab帮助系统 q 联机帮助联机帮助 l help 显示指定命令的简短使用说明显示指定命令的简短使用说明 例:例: help eig help help q 详细使用帮助详细使用帮助 l doc 以网页形式以网页形式显示指定命令的帮助页显示指定命令的帮
13、助页 例:例: doc eig q 其它相关命令其它相关命令 helpdesk、helpwin 17 Matlab 查找命令 l lookfor 按指定的关键词查询与之相关的命令按指定的关键词查询与之相关的命令 例:例: lookfor inverse l which 显示指定函数所在的目录显示指定函数所在的目录 例:例: which eig q 其它相关命令其它相关命令 cd、dir、more 18 q 变量命名原则变量命名原则 Matlab 变量 u 以以字母开头字母开头 u 后面可以跟后面可以跟 字母、数字字母、数字 和和 下划线下划线 u 长度长度不超过不超过 63 个字符个字符(6.
14、5 版本以前为版本以前为 19 个个) u 变量名变量名 区分字母的区分字母的 大小大小 写写 q Matlab 语句的通常形式语句的通常形式 变量变量 = 表达式表达式 表达式是用运算符将有关运算量连接起来的式子,表达式是用运算符将有关运算量连接起来的式子, 其结果被赋给赋值号其结果被赋给赋值号“=”左边的变量左边的变量 19 q 分号和续行符的作用 Matlab 变量 l 若不想在屏幕上输出结果,可以在语句最后加若不想在屏幕上输出结果,可以在语句最后加分号分号 l 如果语句很长,可用如果语句很长,可用续行符续行符 “”(三个点)续行(三个点)续行 续行符续行符的前面最好留一个空格的前面最好
15、留一个空格 例:例: 20 q 变量的查询 Matlab 变量 l who 显示工作空间中的所有变量显示工作空间中的所有变量 l whos 查看工作空间中变量的详细属性查看工作空间中变量的详细属性 21 q 系统预定义变量 Matlab 变量 u pi : 圆周率圆周率 ,其值为,其值为 imag(log(-1) u inf,Inf :无穷大无穷大 u nan,NaN :Not-a-Number,一个不定值,如,一个不定值,如 0/0 u eps :浮点运算相对精度浮点运算相对精度 q 特殊变量特殊变量 ans u i,j :虚部单位,即虚部单位,即 1 应尽量避免给系统预定义变量重新赋值!应
16、尽量避免给系统预定义变量重新赋值! 22 q 数与算术表达式 Matlab 数值运算 u Matlab 中的数默认是中的数默认是双精度实数双精度实数,表示方法,表示方法同同 C 语言语言 3, -9, 0.4, 1.603e-12, 3.23e+20 u 浮点运算的浮点运算的相对误差为相对误差为 eps u 浮点数表示范围为浮点数表示范围为:10-308 10308 u 复数的输入复数的输入 l z=3+4i (4 与与 i 之间不能有空格之间不能有空格) l z=3+4*i 复数作为矩阵元素输入时,加号两边不能有空格复数作为矩阵元素输入时,加号两边不能有空格! ! 23 q 数学运算符 u
17、+ 加法加法 Matlab 数值运算 u - 减法减法 u * 乘法乘法 u / 和和 除法(右除和左除)除法(右除和左除) u 幂运算幂运算 q 命令分隔符:逗号和分号 24 q 输出格式输出格式 Matlab 的输出 u Matlab 以双精度执行所有的运算,运算结果可以以双精度执行所有的运算,运算结果可以在在 屏幕上输出屏幕上输出,同时,同时赋给指定变量;赋给指定变量;若无指定变量,则系若无指定变量,则系 统会自动将结果赋给变量统会自动将结果赋给变量 “ans” u Matlab 中数的输出格式可以通过中数的输出格式可以通过 format 命令指定命令指定 format 只改变变量的输出
18、格式,只改变变量的输出格式, 但不会影响变量的值!但不会影响变量的值! 25 各种 format 格式 格式解释例 format短格式(缺省显示格式),同short3.1416 format short短格式(缺省显示格式),只显示5位3.1416 format long长格式,双精度数15位,单精度数7位3.14159265358979 format short e短格式e方式(科学计数格式)3.1416e+000 format long e长格式e方式3.141592653589793e+000 format short g短格式g方式3.1416 format long g长格式g方式3
19、.14159265358979 format compact压缩格式 format loose自由格式 format + / format bank / format rat / format hex (详情查看联机帮助) 26 变量的存储 q 存储当前工作空间中的变量存储当前工作空间中的变量 u save 将所有变量存入文件将所有变量存入文件 matlab.mat u save mydata 将所有变量存入将所有变量存入指定文件指定文件 mydata.mat q 存储指定的变量存储指定的变量 u save mydata.mat 将所有变量存入将所有变量存入文件文件 mydata.mat sa
20、ve 文件名文件名 变量名列表变量名列表 例例: save mydata A x z 变量名列表中各变量之间用变量名列表中各变量之间用空格空格分隔分隔 27 变量的读取 q 将数据文件中的变量载入当前工作空间将数据文件中的变量载入当前工作空间 u load mydata 载入数据文件中的所有变量载入数据文件中的所有变量 u load mydata A x 从数据文件中提取指定变量从数据文件中提取指定变量 q 清除当前工作空间中的变量清除当前工作空间中的变量 u clear 清除当前工作空间中的所有变量清除当前工作空间中的所有变量 u clear A x 清除指定的变量清除指定的变量 28 q
21、Matlab 的命令记忆功能:的命令记忆功能:上下箭头键上下箭头键 q 命令补全功能:命令补全功能: Tab 键键 可以先输入命令的前几个字符,再按上下键缩小搜索范围可以先输入命令的前几个字符,再按上下键缩小搜索范围 q 用用 Esc 键键 删除命令行删除命令行 29 Lecture 2 MATLAB矩阵(数值)运算矩阵(数值)运算 30 n利用函数建立数值矩阵:MATLAB提供了许多生成 和操作矩阵的函数,可以利用它们去建立矩阵。 n例如: reshape函数和diag函数等。 nreshape函数用于建立数值矩阵。 ndiag函数用于产生对角阵。 n利用M文件建立矩阵:对于比较大且比较复杂
22、的矩阵,可以 为它专门建立一个M文件。其步骤为: n第一步:使用编辑程序输入文件内容。 n第二步:把输入的内容以纯文本方式存盘(设文件名为 mymatrix.m)。 n第三步:在MATLAB命令窗口中输入mymatrix,就会自动建立一 个名为AM的矩阵,可供以后显示和调用。 31 n利用利用M文件建立矩阵:文件建立矩阵: 对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。 其步骤为: n第一步:使用编辑程序输入文件内容。 n第 二 步 : 把 输 入 的 内 容 以 纯 文 本 方 式 存 盘 ( 设 文 件 名 为 mymatrix.m)。 n第三步:在MATLAB命令窗口中输入my
23、matrix,就会自动建立一 个名为AM的矩阵,可供以后显示和调用。 n子矩阵操作子矩阵操作 32 n2矩阵的基本运算矩阵的基本运算 n()矩阵转置 n()矩阵加和减 n()矩阵乘法 n()矩阵除法 Ab=inv(A)*b n()矩阵的乘方 a2 33 n3矩阵的函数矩阵的函数 n help matfun n Matrix functions - numerical linear algebra. n n Matrix analysis. n norm - Matrix or vector norm. n normest - Estimate the matrix 2-norm. n rank
24、 - Matrix rank. n det - Determinant. n trace - Sum of diagonal elements. n null - Null space. n orth - Orthogonalization. n rref - Reduced row echelon form. n subspace - Angle between two subspaces. 34 n3矩阵的函数矩阵的函数 n Linear equations. n and / - Linear equation solution; use help slash. n inv - Matri
25、x inverse. n rcond - LAPACK reciprocal condition estimator n cond - Condition number with respect to inversion. n condest - 1-norm condition number estimate. n normest1 - 1-norm estimate. n chol - Cholesky factorization. n cholinc - Incomplete Cholesky factorization. n lu - LU factorization. n luinc
26、 - Incomplete LU factorization. n qr - Orthogonal-triangular decomposition. n lsqnonneg - Linear least squares with nonnegativity constraints. n pinv - Pseudoinverse. n lscov - Least squares with known covariance. n 35 n3矩阵的函数矩阵的函数 n Eigenvalues and singular values. n eig - Eigenvalues and eigenvect
27、ors. n svd - Singular value decomposition. n gsvd - Generalized singular value decomposition. n eigs - A few eigenvalues. n svds - A few singular values. n poly - Characteristic polynomial. n polyeig - Polynomial eigenvalue problem. n condeig - Condition number with respect to eigenvalues. n hess -
28、Hessenberg form. n qz - QZ factorization for generalized eigenvalues. n schur - Schur decomposition. n n 36 n3矩阵的函数矩阵的函数 n Matrix functions. n expm - Matrix exponential. n logm - Matrix logarithm. n sqrtm - Matrix square root. n funm - Evaluate general matrix function. n n Factorization utilities n
29、qrdelete - Delete a column or row from QR factorization. n qrinsert - Insert a column or row into QR factorization. n rsf2csf - Real block diagonal form to complex diagonal form. n cdf2rdf - Complex diagonal form to real block diagonal form. n balance - Diagonal scaling to improve eigenvalue accurac
30、y. n planerot - Givens plane rotation. n cholupdate - rank 1 update to Cholesky factorization. n qrupdate - rank 1 update to QR factorization. 37 n4建立矩阵的函数建立矩阵的函数 n常用函数有:常用函数有: neye(size(A) 产生与A矩阵同阶的单位矩阵 nzeros(m,n) 产生0矩阵 nones(m,n) 产生幺矩阵 n rand (m,n) 产生随机元素的矩阵 nSize(a) 返回包含两个元素的向量。 nLength(a) 返回向量的
31、长度。 38 常见矩阵生成函数 39 n5数组运算数组运算 n(1) 数组的加和减 n(2) 数组的乘和除 n(3) 数组的乘方 40 6 6 应用举例应用举例 n1、行列式计算;、行列式计算; n2、求解线性方程组;、求解线性方程组; n3、解特征值问题、解特征值问题 41 Lecture 3 MATLAB图形与可视化图形与可视化 (Graphic) 42 (1)掌握掌握图形窗口图形窗口的创建与控制,以及图形窗口的的创建与控制,以及图形窗口的基本操作基本操作; (2)熟练掌握)熟练掌握二维和三维绘图基本的命令二维和三维绘图基本的命令、线型控制;、线型控制; (3)初步掌握用)初步掌握用特殊的
32、图形特殊的图形来表现特殊数据的性质,如面积图、直方来表现特殊数据的性质,如面积图、直方 图、饼图等。图、饼图等。 (4)掌握)掌握坐标轴的控制和图形标注命令坐标轴的控制和图形标注命令及其用法。及其用法。 43 A A、二维平面图形与坐标系、二维平面图形与坐标系 1. 几个基本的绘图命令几个基本的绘图命令 a. 线性坐标曲线线性坐标曲线 plot 函数命令函数命令 plot 是是 MATLAB 二维曲线绘图中最简单、最重二维曲线绘图中最简单、最重 要、使用最广泛的一个线性绘图函数。它可以要、使用最广泛的一个线性绘图函数。它可以生成线段、生成线段、 曲线和参数方程曲线曲线和参数方程曲线的函数图形。
33、的函数图形。 命令格式命令格式: : plot(X,Y) plot(x1,y1,x2,y2,):综合调用方式综合调用方式 44 用命令用命令 plot(x,y)绘制函数绘制函数 y=cos(x)在两个周期内的图形。在两个周期内的图形。 x=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) 45 二维函数曲线专用命令二维函数曲线专用命令 fplotfplot 用用plot绘图在确定自变
34、量的取值间隔时,一般采用绘图在确定自变量的取值间隔时,一般采用平均间隔平均间隔,有时会因,有时会因 某处某处 间距太大,而间距太大,而不能反映出函数的变化不能反映出函数的变化情况。情况。fplot是绘制函数是绘制函数 y=f(x) 图形的专用命令图形的专用命令,它的它的数据点是自适应产生的数据点是自适应产生的,对那些导数变化较大的,对那些导数变化较大的 函数,用函数,用 fplot 函数绘出的曲线比等分取点所画出的曲线函数绘出的曲线比等分取点所画出的曲线更加接近真实更加接近真实。 fplot 函数命令的调用格式为:函数命令的调用格式为: X,Y=fplot(fun,lims) fun:函数名字
35、符串;函数名字符串; lims:定义定义 x 的取值区间,的取值区间,lims=xmin,xmax; 二维函数曲线专用命令二维函数曲线专用命令 ezplot 46 2.线型和颜色线型和颜色 plot 函数可以设置曲线的函数可以设置曲线的线段类型、定点标记和线段颜色线段类型、定点标记和线段颜色。 常用的线段、颜色与定点标记参数常用的线段、颜色与定点标记参数 47 调用格式调用格式:plot(x,y,s) ,s 为类型说明参数,是字符串。为类型说明参数,是字符串。 s 字符串字符串可以是三种类型的可以是三种类型的符号之一符号之一,也可以是线型与颜色和定点标记,也可以是线型与颜色和定点标记 与颜色的
36、与颜色的组合组合; 如果如果没有没有 s 参数参数,plot 将使用将使用缺省设置(实线,前七种颜色顺序着色缺省设置(实线,前七种颜色顺序着色) 绘制曲线;绘制曲线; 在当前坐标系中绘图时,每调入一次绘图函数,在当前坐标系中绘图时,每调入一次绘图函数,MATLAB将擦掉坐标将擦掉坐标 系中已有的图形对象。可以用系中已有的图形对象。可以用 hold on 命令命令在一个坐标系中在一个坐标系中增加新的图增加新的图 形对象形对象。注意。注意MATLAB会根据新图形的大小,重新改变坐标系的比例。会根据新图形的大小,重新改变坐标系的比例。 用不同的用不同的线型和标注线型和标注来绘制两条曲线。来绘制两条曲
37、线。 t1=0:0.1:2*pi; t2=0:0.1:6; y1=sin(t1); y2=sqrt(t2); plot(t1,y1,:hb,t2,y2,-g) 48 3. 图形窗口的分割图形窗口的分割 有时需要在有时需要在一个图形窗口中显示几幅图一个图形窗口中显示几幅图,以便对几个函数进行直观、,以便对几个函数进行直观、 便捷的比较。由于每个绘图命令在绘制数据图像时都会将已有图形覆便捷的比较。由于每个绘图命令在绘制数据图像时都会将已有图形覆 盖掉,而用盖掉,而用 hold 命令不能实现同时显示几个不同坐标尺寸下的图形,命令不能实现同时显示几个不同坐标尺寸下的图形, 用用 figure 命令再创
38、窗口又很难同时比较由不同的数据绘得的图像。命令再创窗口又很难同时比较由不同的数据绘得的图像。 实现在实现在同一个窗口中同时显示多个图像同一个窗口中同时显示多个图像的命令的命令subplot。 使用格式为:使用格式为: subplot(m,n,i) 其含义为其含义为 :把图形窗口分割为:把图形窗口分割为 m 行行 n 列子窗口列子窗口,然后选,然后选 定定第第 i 个窗口为当前窗口个窗口为当前窗口。 subplot 命令不仅用于命令不仅用于二维图形二维图形,对,对三维图形三维图形一样适用。其本质是将一样适用。其本质是将 figure 窗口分为几个区域窗口分为几个区域,再在每个区域内分别绘图。,再
39、在每个区域内分别绘图。 49 用用 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) x=1:0.1:10; y=sqrt(x); plot(x,y,:rd)
40、50 4. 坐标系的调整坐标系的调整 实现坐标系的调整的命令是实现坐标系的调整的命令是 axis 函数。函数。 调用格式为:调用格式为: axis(xmin,xmax,ymin,ymax,zmin,zmax) 坐标的最小值(坐标的最小值( xmin,ymin,zmin)必须小于相应的最大值必须小于相应的最大值 ( xmax,ymax,zmax),),否则会出错。否则会出错。 自动坐标系与用自动坐标系与用 axis axis 函数函数调整后的坐标系的比较。调整后的坐标系的比较。 subplot(2,1,1) t=0:0.1:4*pi; y=sin(t); plot(t,y) subplot(2,
41、1,2) t=0:0.1:4*pi; y=sin(t); plot(t,y) axis(0,max(t),min(y),max(y) 51 B B、三维绘图、三维绘图 1. 1. 三维三维曲线曲线绘图命令绘图命令 三维函数三维函数 plot3主要用来表现主要用来表现单参数的三维曲线单参数的三维曲线,与二维绘图函数,与二维绘图函数 plot 相比,只相比,只 多了多了第三维数据第三维数据。 其调用格式为:其调用格式为: plot3(X1,Y1,Z1,s1,X2,Y2,Z2,s2,) 参数的含义如下:参数的含义如下: Xn、Yn、Zn:第一到三维数据,是第一到三维数据,是尺寸相等的尺寸相等的向量向
42、量/矩阵;矩阵; s、s1、s2:是是字符串字符串,用来设置,用来设置线型、颜色、数据点线型、颜色、数据点标记。标记。 52 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,
43、FontAngle,italic) %命令命令 zlabel 用来指定用来指定 z 轴的数据名称轴的数据名称 grid on x、y、z 都是矩阵时,都是矩阵时,plot3 命令的使用命令的使用 X,Y=meshgrid(-pi:0.1:pi); Z=sin(X)+cos(Y); plot3(X,Y,Z) 53 为了绘制定义在平面区域为了绘制定义在平面区域 D =x0,xmD =x0,xmy0,yn y0,yn 上的上的三维曲面三维曲面 z=f(x,yz=f(x,y) ) ,首先将,首先将 x0,xmx0,xm在在 x x 方向分成方向分成 m m 份,将份,将 y0,yny0,yn在在 y
44、y 方方 向分成向分成 n n 份,由各划点分别作平行于坐标轴的直线,将份,由各划点分别作平行于坐标轴的直线,将区域区域 D D 分成分成 m mn n 个小矩形个小矩形;对于每个小矩形,计算出;对于每个小矩形,计算出网格点的函数值网格点的函数值,决定出空,决定出空 间中四个顶点(间中四个顶点( xi,yi,f(xi,yi)xi,yi,f(xi,yi)),),连接四个顶点得到一个连接四个顶点得到一个空间的四空间的四 边形片边形片;所有四边形片连在一起构成函数;所有四边形片连在一起构成函数 z=f(x,y)z=f(x,y)定义在区域定义在区域 D D 上上 的的空间网格曲面空间网格曲面。 因此,
45、三维曲面绘图命令可分为因此,三维曲面绘图命令可分为平面网格点的生成平面网格点的生成、在平面网格基础、在平面网格基础 上上绘制三维网格绘制三维网格及对及对三维表面进行处理三维表面进行处理三个步骤。三个步骤。 54 a.a.平面网格点的生成平面网格点的生成 函数命令函数命令meshgrid 用来生成用来生成 x-y 平面上的网格点矩阵。平面上的网格点矩阵。 调用形式为:调用形式为: X,Y=meshgrid(x,y) X,Y=meshgrid(x) 等价于等价于X,Y=meshgrid(x,x) 参数含义如下:参数含义如下: x:是区间是区间x0,xm上分划的向量;上分划的向量; y:是区间是区间
46、y0,yn上分划的向量;上分划的向量; X,Y:输出变量矩阵,矩阵输出变量矩阵,矩阵 X 的行向量都是向量的行向量都是向量 x,矩阵矩阵 Y 的列向的列向 量都是向量量都是向量 y。 函数函数 meshgrid 将将由两个向量决定的区域转换为对应的网格点矩阵。由两个向量决定的区域转换为对应的网格点矩阵。 55 函数函数 ,定义区域为,定义区域为-2,2-2,2。生成网格生成网格 并并计算其网格点上的函数值。计算其网格点上的函数值。 X,Y = meshgrid(-2:2:2, -2:2:2); X,Y %将划分结果输出至矩阵将划分结果输出至矩阵 ans = -2 0 2 -2 -2 -2 -2
47、 0 2 0 0 0 -2 0 2 2 2 2 Z = X .* exp(-X.2 - Y.2); %计算网格点上的函数值赋予变量计算网格点上的函数值赋予变量 Z Z = -0.0007 0 0.0007 -0.0366 0 0.0366 -0.0007 0 0.0007 22 yx exz 56 利用利用函数函数mesh生成网格曲面。生成网格曲面。 调用格式为:调用格式为: mesh(X,Y,Z,C):X、Y、Z、C 是同维数的矩阵,是同维数的矩阵,X、Y、Z 对对 应空间上的网格点,网格线颜色由应空间上的网格点,网格线颜色由C决定;决定; mesh(X,Y,Z):相当于上面的相当于上面的
48、C=Z 的情况;的情况; mesh(x,y,Z,C):x 和和 y 是向量,是向量,Z 和和 C 是同维数的矩阵,网格是同维数的矩阵,网格 曲面的网格顶点是(曲面的网格顶点是( x(j),y(i),Z(i,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,.
49、):给函给函mesh设置曲面属性。设置曲面属性。 57 用用 mesh 命令绘制上例中的网格曲面。命令绘制上例中的网格曲面。 X,Y = meshgrid(-2:.2:2, -2:.2:2); Z = X .* exp(-X.2 - Y.2); mesh(Z) 与与 mesh 相关的相关的 另外两个函数是另外两个函数是 meshc 和和 meshz, 它们的调用形式它们的调用形式 与与 mesh 相同。相同。 58 函数函数 surf 可实现可实现对网格曲面片进行着色对网格曲面片进行着色,将网格曲面转化,将网格曲面转化 为为实曲面实曲面。surf 命令的调用格式与命令的调用格式与 mesh 相
50、同相同。 利用三维网格表面命令利用三维网格表面命令 surf 绘制图形。绘制图形。 z=peaks; %绘制山峰的图像,将函数值赋予变量绘制山峰的图像,将函数值赋予变量z surf(z) %对山峰的图像进行着色处理对山峰的图像进行着色处理 shading interp %函数函数 shading 改变着色方式改变着色方式 59 3.等高线图形的绘制等高线图形的绘制 4.三维视图可视效果的控制三维视图可视效果的控制 5.柱面和球面的三维表达柱面和球面的三维表达(书书) 60 a.柱面的表达柱面的表达cylinder cylinder命令中,命令中,柱面的轴线定义为柱面的轴线定义为 z 轴轴,只要
51、给出,只要给出母线母线的描述就可完的描述就可完 成一个柱面。成一个柱面。 调用格式为:调用格式为: X,Y,Z = cylinder(R,N)X,Y,Z = cylinder(R,N); X,Y,Z = cylinder(R)X,Y,Z = cylinder(R):缺省值缺省值 N=20N=20; X,Y,Z = cylinderX,Y,Z = cylinder:缺省值缺省值 N=20N=20,R=1R=1,11。 R R:是一描述柱面母线的向量;是一描述柱面母线的向量; N N:是旋转柱面上的分割线条数;是旋转柱面上的分割线条数; X X,Y Y,Z Z :是返回的是返回的x x,y y,z
52、 z坐标向量。坐标向量。 绘制一个柱面。绘制一个柱面。 t=pi:0.01:3*pi; r=sin(t)+t; cylinder(r,30) shading interp 61 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
53、) 62 为了将抽象的数据表达得更形象,除了绘制为了将抽象的数据表达得更形象,除了绘制二维、三维二维、三维图图 形外,还要用到形外,还要用到直方图、面积图、饼图直方图、面积图、饼图等特殊图形。等特殊图形。 特殊图形指令特殊图形指令 63 1.1.面积图命令面积图命令 area 表现各个不同部分对整体所作的贡献表现各个不同部分对整体所作的贡献 area(X,Y):与与 plot 的命令的使用方法相似,的命令的使用方法相似,将连线图将连线图 到到 x 轴轴的那部分填上了颜色;的那部分填上了颜色; area(Y):缺省值缺省值 X=1:SIZE(Y); area(X,Y,LEVEL)或或 area(
54、Y,LEVEL):填色部分为填色部分为由连由连 线图到线图到 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 64 2.2.直方图命令直方图命令 bar 直方图常用于统计数据的作图,直方图常用于统计数据的作图, 有有bar、bar3、barh 和和 bar3h几种函数,其调用格式类似。几种函数,其调用格式类似。 以函数以函数 bar 为例:为例: bar(X,Y):X 是横坐标向量,是横坐标向量,
55、Y 可以是向量或矩阵可以是向量或矩阵。Y 是是向量向量时,每时,每 一个元素对应一个竖条;一个元素对应一个竖条;Y 是是 m 行行 n 列列矩阵矩阵时,将画出时,将画出 m 组竖条,组竖条, 每组包括每组包括 n 个竖条;个竖条; bar(Y):横坐标使用缺省值横坐标使用缺省值 X=1:M; bar(X,Y,WIDTH) 或或 bar(Y,WIDTH):用用 WIDTH 指定指定竖条的宽度竖条的宽度, 如果如果 WIDTH1,条与条之间将重合。条与条之间将重合。缺省宽度为缺省宽度为 0.8; bar(.,grouped):产生缺省的产生缺省的组合组合直方图;直方图; bar(.,stacked
56、):产生产生累积的累积的直方图;直方图; bar(.,linespec):指定指定条的颜色条的颜色; H = bar(.):返回条形图对象的返回条形图对象的句柄句柄。 65 用绘制直方图的几种命令绘制直方图。用绘制直方图的几种命令绘制直方图。 X=-2:2; Y=3,5,2,4,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(
57、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) 66 绘制三维直方图。绘制三维直方图。 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)
58、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) bar3h(X,Y,stacked) zlabel(x) ylabel(Sigma y) colormap(summer) 67 3.3.饼图命令饼图命令 pie 饼图又叫饼图又叫扇形图扇形图,用于,用于显示向量中元素所占向量元素总和显示向量中元素所占向量元素总和 的百分比的百分比。 pie 和和 pie3分别用于绘制二维和三维饼图。分别用于绘制
59、二维和三维饼图。 调用格式:调用格式: pie(X)pie(X):向量向量 X X 的饼图。把的饼图。把 X X 的每一个元素在所有元的每一个元素在所有元 素总和中占的比例表达出来;素总和中占的比例表达出来; pie(X,EXPLODE):向量向量EXPLODE(和向量和向量X长度相等)长度相等) 用于指定饼图中用于指定饼图中抽出一部分的块抽出一部分的块(非零值对应的块非零值对应的块);); pie(.,LABELS):LABELS 是用于是用于标注标注饼图的字符串数饼图的字符串数 组,其长度必须和向量组,其长度必须和向量 X相等;相等; H = pie(.):返回包括返回包括饼图饼图和文本对
60、象和文本对象句柄句柄。 68 用函数用函数 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) 69 五、极坐标、柱坐标和球坐标系下绘制图形五、极坐标、柱坐标和球坐标系下绘制图形 1.1.极坐标系下绘制图形极坐标系下绘制图形 ploar是直接在极坐
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年淀粉市场需求变化趋势与商业创新机遇分析研究报告
- 2025-2030年速调管企业制定与实施新质生产力战略分析研究报告
- 2026年零售检测数字化转型协议
- 2026年电商检测风控合规协议
- 2026年保险外包法务顾问协议
- 粘结剂抗老化性能研究-洞察与解读
- 数字孪生数据实时同步策略-洞察与解读
- 重力卫星精密测量-洞察与解读
- 高层建筑防火材料创新-第1篇-洞察与解读
- 游戏化认知训练-洞察与解读
- 人工智能在医疗临床决策支持系统中的应用
- 沙子石子购销合同
- 年产3200吨酱香型白酒工厂设计(重点车间:制酒)
- 第六单元第06课时 怎样通知最快 大单元教学课件 人教版五年级数学下册
- SQL的语句及习题
- GRR标准表格-偏倚
- 珠海长隆海洋王国游记作文(通用5篇)
- GB/T 3457-2013氧化钨
- GB/T 13810-2007外科植入物用钛及钛合金加工材
- 决策理论与方法-决策的基本概念课件
- 纳米材料的力学性能课件
评论
0/150
提交评论