第3章 MATLAB语言的基础知识_第1页
第3章 MATLAB语言的基础知识_第2页
第3章 MATLAB语言的基础知识_第3页
第3章 MATLAB语言的基础知识_第4页
第3章 MATLAB语言的基础知识_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第3 3章章 MATLAB语言的基础知识语言的基础知识 MATLABMATLAB是美国是美国Math WorksMath Works公司的软件产品,是一个高级的数值分公司的软件产品,是一个高级的数值分 析、处理与计算软件;析、处理与计算软件;SIMULINKSIMULINK是基于模型化图形组态的动态系是基于模型化图形组态的动态系 统仿真软件,是统仿真软件,是MATLABMATLAB的一个附件。的一个附件。 3.1 MATLAB3.1 MATLAB的安装和启动的安装和启动 3.1.1 MATLAB3.1.1 MATLAB的安装的安装 MATLAB MATLAB只有在适当的环境下才能正常运行。因

2、此适当配置外只有在适当的环境下才能正常运行。因此适当配置外 部系统是保证部系统是保证MATLABMATLAB运行的先决条件。对计算机的硬件配置和软运行的先决条件。对计算机的硬件配置和软 件环境都要求。件环境都要求。 3.1.2 MATLAB7.x3.1.2 MATLAB7.x的启动的启动 常用的方法就是双击桌面的常用的方法就是双击桌面的MATLABMATLAB图标图标 启动启动MATLABMATLAB后的界面:后的界面: 3.2 MATLAB7.x的系统界面的系统界面 3.2.1 MATLAB7.x3.2.1 MATLAB7.x系统界面窗口系统界面窗口 一般来说,一般来说,MATLABMATL

3、AB的所有函数和命令都可以在命令窗口中执行。的所有函数和命令都可以在命令窗口中执行。 (1) (1) 命令窗口(命令窗口(Command WindowCommand Window) MATLABMATLAB命令窗口中的命令窗口中的“”为命令提示符,表示为命令提示符,表示MATLABMATLAB正在处正在处 于准备状态。在命令提示符后键入命令并按下回车键后,于准备状态。在命令提示符后键入命令并按下回车键后,MATLABMATLAB 就会解释执行所输入的命令,并在命令后面给出计算结果。就会解释执行所输入的命令,并在命令后面给出计算结果。 (2) (2) 历史命令窗口(历史命令窗口(Command

4、HistoryCommand History) 默认设置下历史命令窗口会保留自安装时起所有命令的历史记录,默认设置下历史命令窗口会保留自安装时起所有命令的历史记录, 并标明使用时间,以方便使用者的查询。并标明使用时间,以方便使用者的查询。 (3) (3) 当前目录窗口(当前目录窗口(Current Directory Current Directory ) 在当前目录窗口中可显示或改变当前目录,还可以显示当前目录下在当前目录窗口中可显示或改变当前目录,还可以显示当前目录下 的文件,包括文件名、文件类型、最后修改时间以及该文件的说明的文件,包括文件名、文件类型、最后修改时间以及该文件的说明 信息

5、等并提供搜索功能。信息等并提供搜索功能。 (4) (4) 工作空间窗口(工作空间窗口(WorkspaceWorkspace) 工作空间在工作空间在MATLABMATLAB运行期间一直存在,关闭运行期间一直存在,关闭MATLABMATLAB后自动消后自动消 失,当运行失,当运行MATLABMATLAB程序时,程序中的变量将被加载到工作空间中程序时,程序中的变量将被加载到工作空间中 。 在一个程序中的运算结果以变量的形式保存在工作空间后,在在一个程序中的运算结果以变量的形式保存在工作空间后,在 MATLABMATLAB关闭之前该变量还可以被别的程序调用。在工作空间窗口关闭之前该变量还可以被别的程序

6、调用。在工作空间窗口 中将显示所有目前保存在内存中的中将显示所有目前保存在内存中的MATLABMATLAB变量的变量名、数据结变量的变量名、数据结 构、字节数以及类型,而不同的变量类型分别对应不同的变量名图构、字节数以及类型,而不同的变量类型分别对应不同的变量名图 标。用户可用命令对工作空间中的变量进行显示、删除或保存等操标。用户可用命令对工作空间中的变量进行显示、删除或保存等操 作。作。 3.2.2 MATLAB7.x3.2.2 MATLAB7.x菜单项和工具栏菜单项和工具栏 MATLABMATLAB的系统界面上有的系统界面上有6 6个功能菜单和带有个功能菜单和带有9 9个快捷按钮的工具栏个

7、快捷按钮的工具栏 组。组。6 6个功能菜单个功能菜单(File, Edit, Debug, Desktop, Window, Help)(File, Edit, Debug, Desktop, Window, Help)各自有下各自有下 一层的功能。一层的功能。9 9个快捷按钮均有对应的菜单命令个快捷按钮均有对应的菜单命令 。 3.2.3 MATLAB7.x3.2.3 MATLAB7.x的帮助系统的帮助系统 MATLABMATLAB作为一个优秀的科学计算软件,具有比较完备的帮助体系,作为一个优秀的科学计算软件,具有比较完备的帮助体系, 通过获取帮助信息,用户可以更好地运用通过获取帮助信息,用户

8、可以更好地运用MATLABMATLAB资源,快捷、可资源,快捷、可 靠、有效地解决各种问题。靠、有效地解决各种问题。 3.3 MATLAB的基础知识的基础知识 3.3.1 3.3.1 矩阵的生成矩阵的生成 1. 1. 直接输入法直接输入法 例如,例如,以下矩阵以下矩阵 123 456 789 A 可以由下面的可以由下面的MATLABMATLAB语句直接在命令窗口,输入到工作空间中语句直接在命令窗口,输入到工作空间中 技巧:(1) MATLAB中对矩阵或向量元素的引用方式 与通常矩阵的引用方式一致,如A(2 ,3)表示矩阵A的第 2行第3列的元素。如若对A的第2行第3列的元素重新赋 值,只需键入

9、如下命令: A(2,3)=8; 则矩阵A变为 A = A= 1 2 3 1 2 3 4 5 8 4 5 6 7 8 9 7 8 9 例:例: 在矩阵后面再补一行在矩阵后面再补一行 A=1 2 3;4 5 6;7 8 9 A=1 2 3;4 5 6;7 8 9 A1=A; 1 3 5 A1=A; 1 3 5 A1= A1= 1 2 3 1 2 3 4 5 6 4 5 6 7 8 9 7 8 9 1 3 5 1 3 5 1 1、求出这两个矩阵的乘积、求出这两个矩阵的乘积C C; 2 2、将、将C C矩阵的右下角矩阵的右下角2 23 3子矩阵赋给子矩阵赋给D D矩阵。矩阵。 345981 24357

10、62 2455332 8763441 i i i B 4981 9323 7531 7532 3321 A 例:已知矩阵例:已知矩阵 在矩阵右侧补一列?在矩阵右侧补一列? 在矩阵上面补一行?在矩阵上面补一行? 在矩阵左侧补一列?在矩阵左侧补一列? 思考:思考: 解:输入以下命令,即可以完成解:输入以下命令,即可以完成 2. 2. 外部文件读入法外部文件读入法 MATLAB MATLAB语言允许用户调用在语言允许用户调用在MATLABMATLAB环境之外定义的矩阵。环境之外定义的矩阵。 可以利用任意的文本编辑器编辑所要使用的矩阵,矩阵元素之间以可以利用任意的文本编辑器编辑所要使用的矩阵,矩阵元素

11、之间以 特定分断符分开,并按行列布置,保存成特定分断符分开,并按行列布置,保存成* *.txt.txt,* *.csv.csv或或* *.dat.dat等类型等类型 的文件,然后通过的文件,然后通过MATLABMATLAB的数据输入向导(的数据输入向导(Import WizardImport Wizard)或通)或通 过过MATLABMATLAB函数实现数据读入。函数实现数据读入。 例如:在例如:在MATLAB7/workMATLAB7/work文件中,建立文件文件中,建立文件data.txtdata.txt: 1 2 31 2 3 4 5 6 4 5 6 将将C矩阵的右下角矩阵的右下角23子

12、矩阵赋给子矩阵赋给D矩阵。矩阵。 在在MATLABMATLAB命令窗口中输入:命令窗口中输入: 3. 3. 利用利用MATLABMATLAB提供的函数提供的函数 对于一些比较特殊的矩阵(单位阵、矩阵中含对于一些比较特殊的矩阵(单位阵、矩阵中含1 1或或0 0较多),由较多),由 于其具有特殊的结构,于其具有特殊的结构,MATLABMATLAB提供了一些函数用于生成这些矩阵。提供了一些函数用于生成这些矩阵。 常用的有下面几个:常用的有下面几个: zeros(m) zeros(m) 生成生成m m阶全阶全0 0矩阵矩阵 eye(m) eye(m) 生成生成m m阶单位矩阵(注意:在英语中阶单位矩阵

13、(注意:在英语中eyeeye与与I I谐音)谐音) ones(m) ones(m) 生成生成m m阶全阶全1 1矩阵矩阵 rand(m) rand(m) 生成生成m m阶均匀分布的随机阵阶均匀分布的随机阵 randn(m) randn(m) 生成生成m m阶正态分布的随机矩阵阶正态分布的随机矩阵 magic(m) magic(m) 生成生成m m阶魔方矩阵阶魔方矩阵 魔方矩阵是有相同的魔方矩阵是有相同的 行数和列数,并在每行数和列数,并在每 行每列、对角线上的行每列、对角线上的 和都相等。和都相等。 数字数字19填到三行三列的表格中,填到三行三列的表格中, 要求每行、每列、及两条对角线要求每行

14、、每列、及两条对角线 上的和都相等上的和都相等 3.3.2 3.3.2 变量、常量和语句变量、常量和语句 与常规的程序设计语言不同的与常规的程序设计语言不同的MATLABMATLAB并不要求并不要求事先对所使用事先对所使用 的变量进行声明的变量进行声明,也不需要指定变量类型,也不需要指定变量类型,MATLABMATLAB语言会自动依语言会自动依 据所赋予变量的值或对变量所进行的操作来识别变量的类型。在赋据所赋予变量的值或对变量所进行的操作来识别变量的类型。在赋 值过程中如果赋值变量已存在时,值过程中如果赋值变量已存在时,MATLABMATLAB语言将使用新值代替旧语言将使用新值代替旧 值,并以

15、新值类型代替旧值类型。值,并以新值类型代替旧值类型。 MATLAB MATLAB语言变量名应该语言变量名应该由一个字母引导由一个字母引导,后面可以跟字母、,后面可以跟字母、 数字、下划线等,数字、下划线等,不能含有标点符号不能含有标点符号,且长度不超,且长度不超3131位。位。 在在MATLABMATLAB中中变量名是区分大小写变量名是区分大小写的,例如:的,例如:AbcAbc和和ABcABc两个变两个变 量名表示两个不同的变量。量名表示两个不同的变量。 在在MATLABMATLAB中还有自己的一些特殊变量,称为常量。中还有自己的一些特殊变量,称为常量。 pi pi 圆周率的双精度浮点表示。圆

16、周率的双精度浮点表示。 epseps机器的浮点运算误差限。机器的浮点运算误差限。PCPC机上机上epseps的默认值为的默认值为 2.22042.22041010-16 -16,若某个量的绝对值小于 ,若某个量的绝对值小于epseps,则可以认为这个量为,则可以认为这个量为0 0。 i i和和jj若若i i或或j j量不被改写,则它们表示纯虚数量不被改写,则它们表示纯虚数i i。 Inf Inf 无穷大量无穷大量的的MATLABMATLAB表示。同样地,表示。同样地,-可以表示为可以表示为-inf-inf。 NaNNaN不定值不定值(Not a Number)(Not a Number),通常

17、由,通常由0/00/0运算、运算、Inf/InfInf/Inf及其他可及其他可 能的运算得出。能的运算得出。 MATLABMATLAB语言的语句有下面两种结构:语言的语句有下面两种结构: 1. 1. 直接赋值语句直接赋值语句 直接赋值语句的基本结构如下:直接赋值语句的基本结构如下:赋值变量赋值变量= =赋值表达式赋值表达式 实现功能:把等号右边的表达式直接赋给左边的赋值变量,并返回实现功能:把等号右边的表达式直接赋给左边的赋值变量,并返回 到到MATLABMATLAB的工作空间。的工作空间。 2. 2. 函数调用语句函数调用语句 函数调用语句的基本结构为:函数调用语句的基本结构为: 返回变量列

18、表返回变量列表=函数名函数名( (输入变量输入变量 列表列表) ) 其中函数名的要求和变量名的要求是一致的,一般函数名应该其中函数名的要求和变量名的要求是一致的,一般函数名应该 对应在对应在MATLABMATLAB路径下的一个文件,例如,函数名路径下的一个文件,例如,函数名VdpVdp应该对应于应该对应于 Vdp.mVdp.m文件。文件。 3.3.3 3.3.3 数值显示格式数值显示格式 MATLABMATLAB语言提供了语言提供了1010种数据显示格式,常用的有下述几种格式种数据显示格式,常用的有下述几种格式 : : short short 小数点后小数点后4 4位位( (系统默认显示系统默

19、认显示) ) long long 小数点后小数点后1414位位 short e 4short e 4位指数形式位指数形式 long e 15long e 15位指数形式位指数形式 hexhex 十六进制十六进制 ratrat 小数的有理除式近似小数的有理除式近似 3.3.4 3.3.4 字符串字符串 在在MATLABMATLAB中,字符串和字符数中,字符串和字符数 组基本上是等价的。所有的字符串都组基本上是等价的。所有的字符串都 用用单引号单引号进行输入或赋值(当然也可进行输入或赋值(当然也可 以用函数以用函数charchar来生成)。字符串的每个来生成)。字符串的每个 字符(包括空格)都是字

20、符数组的一字符(包括空格)都是字符数组的一 个元素。例如:个元素。例如: format long, pi format short e 3.43.4矩阵的运算矩阵的运算 3.4.1 3.4.1 矩阵的数学运算矩阵的数学运算 1. 1. 矩阵转置矩阵转置 如果矩阵含有复数元素,其转置矩阵首先对各个元素进行转置,然如果矩阵含有复数元素,其转置矩阵首先对各个元素进行转置,然 后再逐项求取其共轭复数值。这种转置方式又称为后再逐项求取其共轭复数值。这种转置方式又称为HermitHermit转置。转置。 【例例3-13-1】 求求 的的HermitHermit转置转置 241 468 ii ii A 2.

21、 2. 矩阵的四则运算矩阵的四则运算 矩阵的加、减、乘运算符分别为矩阵的加、减、乘运算符分别为“+ +、* *” ” ,用法与标量运算,用法与标量运算 几乎相同,但计算时要满足其数学要求(如:维数相同的矩阵才可几乎相同,但计算时要满足其数学要求(如:维数相同的矩阵才可 以加、减;维数相容的矩阵才可以相乘)。以加、减;维数相容的矩阵才可以相乘)。 【例例3-23-2】 求求 矩阵矩阵 和矩阵和矩阵 的乘积矩阵的乘积矩阵C C 12 34 A 56 78 B 在在MATLABMATLAB中矩阵的除法有两种形式:左除中矩阵的除法有两种形式:左除“”和右除和右除“/”/”。它。它 涉及到矩阵的求逆运算

22、。涉及到矩阵的求逆运算。 求某矩阵的逆矩阵的命令是:求某矩阵的逆矩阵的命令是:inv( )inv( ) 例如,求矩阵例如,求矩阵 的逆矩阵的逆矩阵D D 12 34 A 例如,求例如,求 矩阵矩阵 和矩阵和矩阵 相除后的商矩阵相除后的商矩阵C=ABC=AB 12 34 A 56 78 B 3. 3. 矩阵的乘方运算矩阵的乘方运算 A A矩阵为方阵时,其乘方矩阵可以由矩阵为方阵时,其乘方矩阵可以由AxAx求出,其中求出,其中x x为常数。为常数。 【例例3-33-3】 已知矩阵已知矩阵 1 1)求)求A A的平方;的平方;2 2)A A的的5 5次方根次方根 123 A456 789 (得出的是

23、(得出的是5 5个矩阵中的主矩阵)个矩阵中的主矩阵) 3.4.2 3.4.2 矩阵的数组运算矩阵的数组运算 我们在进行工程计算时常常遇到矩阵对应元素之间的直接运算。这我们在进行工程计算时常常遇到矩阵对应元素之间的直接运算。这 种运算不同于前面讲的数学运算,称为数组运算,又称点运算。种运算不同于前面讲的数学运算,称为数组运算,又称点运算。 1. 1. 矩阵的矩阵的点转置点转置 对于实数矩阵来说,点转置和转置完全相同。而对于复数矩阵来说,对于实数矩阵来说,点转置和转置完全相同。而对于复数矩阵来说, 两种转置差别很大,点转置后不再取共轭。两种转置差别很大,点转置后不再取共轭。 【例例3-43-4】

24、求矩阵求矩阵 的点转置的点转置 241 468 ii ii A 2. 2.基本运算基本运算 数组的加、减与矩阵的加、减运算完全相同。数组的乘除法是数组的加、减与矩阵的加、减运算完全相同。数组的乘除法是 指两同维数组对应元素之间的乘除法,它们的运算符为指两同维数组对应元素之间的乘除法,它们的运算符为“. .* *”和和 “./”./”或或“.”.”。 矩阵的数组运算中还有幂运算(运算符为矩阵的数组运算中还有幂运算(运算符为 . . )、指数运算)、指数运算 (expexp)、对数运算()、对数运算(loglog)、和开方运算()、和开方运算(sqrtsqrt)等基本初等函数运)等基本初等函数运

25、算。有了算。有了“对应元素对应元素”的规定,数组运算实质上就是针对矩阵的每的规定,数组运算实质上就是针对矩阵的每 个元素进行的。个元素进行的。 【例例3-53-5】 求矩阵求矩阵a a的乘方和点乘方的乘方和点乘方 3 3逻辑关系运算逻辑关系运算 表表3-2 3-2 逻辑关系运算逻辑关系运算 符号运算符符号运算符功功 能能函函 数数 名名 4 5 6;7 8 9 A=1 2 3;4 5 6;7 8 9 A1=A; 1 3 5 A1=A; 1 3 5 A1= A1= 1 2 3 1 2 3 4 5 6 4 5 6 7 8 9 7 8 9 1 3 5 1 3 5 2. 2. 矩阵大小矩阵大小 MAT

26、LABMATLAB提供了获得矩阵或向量大小的函提供了获得矩阵或向量大小的函 数数size( )size( )和和length( ) length( ) 例如,某矩阵例如,某矩阵 1234 A5678 91011 12 运行以下程序运行以下程序 得到得到 思考:思考: Size(A),length(A) 的区别的区别 3. 3. 矩阵翻转矩阵翻转MATLABMATLAB提供了矩阵翻转操作的函数。提供了矩阵翻转操作的函数。flipud( )flipud( ) 使得矩阵上下翻转,使得矩阵上下翻转,fliplr( )fliplr( )使得矩阵左右翻转,使得矩阵左右翻转, rot90( )rot90(

27、)使得矩阵逆时针翻转使得矩阵逆时针翻转9090 例如,矩阵例如,矩阵 123 A456 789 运行以下程序,可得到:运行以下程序,可得到: 4. 4. 矩阵函数矩阵函数 MATLABMATLAB中提供了矩阵的专用函数中提供了矩阵的专用函数 名名 称称含含 义义名名 称称含含 义义 normnorm计算矩阵范数计算矩阵范数polypoly 计算矩阵的特征多计算矩阵的特征多 项式项式 rankrank计算矩阵的秩计算矩阵的秩invinv计算矩阵的逆计算矩阵的逆 detdet计算矩阵行列式计算矩阵行列式pinvpinv计算矩阵的伪逆计算矩阵的伪逆 tracetrace计算矩阵的迹计算矩阵的迹exp

28、mexpm矩阵的指数函数矩阵的指数函数 eigeig 计算矩阵的特征值、计算矩阵的特征值、 特征向量特征向量 sqrtmsqrtm矩阵的开方根函数矩阵的开方根函数 3.5 3.5 流程控制结构流程控制结构 MATLABMATLAB语言的流程控制语句主要有语言的流程控制语句主要有forfor、whilewhile、if-else-endif-else-end及及switch-switch- casecase等等4 4种语句。种语句。 3.5.1 for3.5.1 for语句语句 forfor循环的基本格式为:循环的基本格式为: for for 循环变量循环变量= =起始值:步长:终止值起始值:步

29、长:终止值 循环体循环体 endend 步长的缺省值是步长的缺省值是1 1。步长可以在正实数或负实数范围内任意。步长可以在正实数或负实数范围内任意 指定,对于正数,循环变量的值大于终止值时,循环结束;对指定,对于正数,循环变量的值大于终止值时,循环结束;对 于负数,循环变量的值小于终止值时,循环结束。于负数,循环变量的值小于终止值时,循环结束。 例例 求取和式求取和式 100 1 2 i i 运行以下程序:运行以下程序: 运行结果为运行结果为 3.5.2 while3.5.2 while语句语句 whilewhile循环的基本格式为:循环的基本格式为: while while 表达式表达式 循

30、环体循环体 endend 若表达式为真,则执行循环体的内容,执行后再判断表达若表达式为真,则执行循环体的内容,执行后再判断表达 式是否为真,若为假则跳出循环体,向下继续执行,否则继续式是否为真,若为假则跳出循环体,向下继续执行,否则继续 执行循环体。执行循环体。 也可运行以下程序:也可运行以下程序:例例 求取和式求取和式 100 1 2 i i 运行结果为:运行结果为: 3.5.3 if-else-end3.5.3 if-else-end语句语句 if if 逻辑表达式逻辑表达式 执行语句执行语句 endend 当逻辑表达式的值为真,则执行该结构中的执行语句内容,执行完后向下继当逻辑表达式的值

31、为真,则执行该结构中的执行语句内容,执行完后向下继 续执行,若逻辑表达式的值为假,跳过结构中的执行语句继续向下执行。续执行,若逻辑表达式的值为假,跳过结构中的执行语句继续向下执行。 if-elseif-else格式格式 if if 逻辑表达式逻辑表达式 执行语句执行语句1 1 elseelse 执行语句执行语句2 2 endend 如果逻辑表达式的值为真,则执行语句如果逻辑表达式的值为真,则执行语句1 1,然后跳过语句,然后跳过语句2 2向下执行;若逻辑向下执行;若逻辑 表达式的值为假,则跳过执行语句表达式的值为假,则跳过执行语句1 1而执行语句而执行语句2 2,然后向下执行。,然后向下执行。

32、 if if格式:格式: if-elseifif-elseif格式格式 if if 逻辑表达式逻辑表达式1 1 执行语句执行语句1 1 elseif elseif 逻辑表达式逻辑表达式2 2 执行语句执行语句2 2 elseif elseif 逻辑表达式逻辑表达式n n 执行语句执行语句n n else else 执行语句执行语句elel end end 如果逻辑表达式如果逻辑表达式1 1的值为真,则执行语句的值为真,则执行语句1 1,若逻辑表达式,若逻辑表达式1 1的值为假,则的值为假,则 判断逻辑表达式判断逻辑表达式2 2的值,若为真,则执行语句的值,若为真,则执行语句2 2,否则向下执行

33、,否则向下执行, ,若所有逻辑表若所有逻辑表 达式均为假,执行语句达式均为假,执行语句elel 例例 将数组作特殊排列将数组作特殊排列 运算结果为运算结果为 3.5.4 switch-case3.5.4 switch-case语句语句 switchswitch语句的格式为:语句的格式为: switch switch 表达式(标量或字符串)表达式(标量或字符串) case case 值值1 1 语句语句1 1 case case 值值2 2 语句语句2 2 case case 值值n n 语句语句n n otherwiseotherwise 语句语句owow end end 表达式的值和哪种情况

34、(表达式的值和哪种情况(casecase)的值相同,就执行哪种情况中的语句,)的值相同,就执行哪种情况中的语句, 如果都不同,则执行如果都不同,则执行otherwiseotherwise中的语句。中的语句。 例例 已知一个单位负反馈系统开环传递函数为已知一个单位负反馈系统开环传递函数为 )22)(6)(5( )3( )( 2 sssss sk sG 当当k分别为分别为35和和36时,其系统的单位阶跃响应完全不同。试用时,其系统的单位阶跃响应完全不同。试用switch 语句绘制系统的单位阶跃响应曲线。语句绘制系统的单位阶跃响应曲线。 运行以下程序运行以下程序 3.6 m3.6 m文件文件 所谓所

35、谓m m文件就是由文件就是由MATLABMATLAB语言编写的语言编写的以以 . m. m为扩展名为扩展名,可在,可在 MATLABMATLAB语言环境下运行程序源代码文件。语言环境下运行程序源代码文件。m m文件可以分为文件可以分为脚本文脚本文 件件(Script)(Script)和函数文件和函数文件(Function)(Function)两种两种。m m文件不仅可以在文件不仅可以在MATLABMATLAB的的 程序编辑器中编写,也可以在其他的文本编辑器中编写。程序编辑器中编写,也可以在其他的文本编辑器中编写。 3.6.1 3.6.1 脚本文件脚本文件 脚本文件为文本形式,是若干命令或函数的

36、集合,用于执行特脚本文件为文本形式,是若干命令或函数的集合,用于执行特 定的功能。脚本的操作对象为定的功能。脚本的操作对象为MATLABMATLAB工作空间内的变量,并且在工作空间内的变量,并且在 脚本执行结束后,脚本中对变量的一切操作均会被保留。脚本执行结束后,脚本中对变量的一切操作均会被保留。 脚本文件的执行方式非常简单,用户只要在脚本文件的执行方式非常简单,用户只要在MATLABMATLAB命令窗口命令窗口 的的提示符下输入提示符下输入m m文件文件名即可。文件文件名即可。 3.6.2 3.6.2 函数文件函数文件 函数需要给定输入参数,并能够对输入变量进行若干操作,实函数需要给定输入参

37、数,并能够对输入变量进行若干操作,实 现特定的功能,最后给出一定的输出结果或图形等,其操作对象为现特定的功能,最后给出一定的输出结果或图形等,其操作对象为 函数的输入变量和函数内的局部变量等。函数的输入变量和函数内的局部变量等。 MATLABMATLAB语言的函数文件包含如下语言的函数文件包含如下5 5个部分:个部分: (1) (1) 函数定义行:是函数语句的第一行,在该行中将定义函数名、输函数定义行:是函数语句的第一行,在该行中将定义函数名、输 入变量列表及输出变量列表等。入变量列表及输出变量列表等。 (2) H1(2) H1行:指函数帮助文本的第一行,为该函数文件的帮助主题,行:指函数帮助

38、文本的第一行,为该函数文件的帮助主题, 当使用当使用lookforlookfor命令时,可以查看到该行信息。命令时,可以查看到该行信息。 (3)(3)帮助文本:这部分提供了函数的完整的帮助信息,包括帮助文本:这部分提供了函数的完整的帮助信息,包括H1H1之后至之后至 第一个可执行语句为止的所有注释语句,通过第一个可执行语句为止的所有注释语句,通过MATLABMATLAB语言的帮助语言的帮助 系统查看函数的帮助信息时,将显示该部分。系统查看函数的帮助信息时,将显示该部分。 (4) (4) 函数体:指函数代码段,也是函数的主体部分。函数体:指函数代码段,也是函数的主体部分。 (5) (5) 注释部

39、分:指对函数体中各语句的解释和说明文本,注释语句是注释部分:指对函数体中各语句的解释和说明文本,注释语句是 以以%引导的。引导的。 例如:例如: 调用函数文件:调用函数文件: 3.7 MATLAB3.7 MATLAB的绘图功能的绘图功能 MATLAB MATLAB语言提供了强大的图形绘制功能,可以方便地实现数语言提供了强大的图形绘制功能,可以方便地实现数 据的视觉化。据的视觉化。 3.7.1 3.7.1 二维图形绘制二维图形绘制 1. 1. 基本形式基本形式plot(x,y)plot(x,y),其中,其中x x和和y y是维数相同的行向量。是维数相同的行向量。 例如例如 2. 2. 多条曲线多

40、条曲线 在同一个画面上可以画许多条曲线,在同一个画面上可以画许多条曲线, 其基本格式为其基本格式为plot(x1,y1,x2,y2, )plot(x1,y1,x2,y2, )。 例如:例如: 它们都是维数它们都是维数 相同的行向量相同的行向量 3. 3. 线型和颜色线型和颜色 MATLAB MATLAB对曲线的线型和颜色有许多选择。其基本格式为对曲线的线型和颜色有许多选择。其基本格式为 plot(x1,y1,c1,x2,y2,c2,) plot(x1,y1,c1,x2,y2,c2,) 颜色共有颜色共有8 8种:种:y y黄、黄、 r r红、红、g g绿、绿、 b b蓝、蓝、w w白、白、k k

41、黑、黑、 m m紫、紫、c c青青 线方式共线方式共4 4种种 : - - 实线、实线、: :点线、点线、-. -. 虚点线、虚点线、- - - - 波折线波折线 点方式有:点方式有:. . 圆点、圆点、+ +加号、加号、* * 星号、星号、x xx x形、形、o o 小圆小圆 例如例如 4. 4.网格和标记网格和标记 在所绘制的图中加上网格,只有在命令窗口中输入:在所绘制的图中加上网格,只有在命令窗口中输入:grid,grid,即可;即可; 要插入各种标记,只要在图形窗口的菜单中选择要插入各种标记,只要在图形窗口的菜单中选择InsertInsert和相应选项即和相应选项即 可。可。 6 6、

42、多幅图形、多幅图形 5 5、坐标系的控制、坐标系的控制 在缺省情况下在缺省情况下MATLABMATLAB自动选择图形的横、纵坐标的比例,也可以自动选择图形的横、纵坐标的比例,也可以 用用axisaxis命令人工修改坐标。命令人工修改坐标。 用用subplot(m,n,p)subplot(m,n,p)命令可以一个窗口分隔成命令可以一个窗口分隔成m mn n个图形区域,个图形区域,p p代表代表 当前的区域号,在每个区域中分别画一个图。例如:当前的区域号,在每个区域中分别画一个图。例如: 3.7.2 3.7.2 三维图形绘制三维图形绘制 1. 1. 三维曲线三维曲线 MATLABMATLAB提供了

43、提供了plot3( )plot3( )函数,它允许用户在三函数,它允许用户在三 维空间绘制三维曲线,基本格式为:维空间绘制三维曲线,基本格式为:plot3(x,y,z)plot3(x,y,z) 例如例如 它们都是它们都是 维数相同维数相同 的行向量的行向量 2. 2. 三维曲面三维曲面使用使用meshmesh命令可以绘制三维表面网格图命令可以绘制三维表面网格图 例如例如 22 22 sin , xy z xy ( -7.5 ( -7.5x7.5, -7.57.5, -7.5y7.5 )7.5 ) 3.7.3 3.7.3 图形的输出图形的输出 首先,在首先,在MATLABMATLAB图形窗口中选

44、择图形窗口中选择【FileFile】菜单中的菜单中的【Export Export SetupSetup】选项,将打开图形输出设置对话框,设置好图形的尺寸,字选项,将打开图形输出设置对话框,设置好图形的尺寸,字 体和线型后,选择体和线型后,选择【ExportExport】按钮,打开图形输出对话框,在该对按钮,打开图形输出对话框,在该对 话框中可以把图形以话框中可以把图形以emfemf、bmpbmp、jpgjpg、pgmpgm等格式保存。等格式保存。 3.8 MATLAB3.8 MATLAB的应用的应用 3.8.1 3.8.1 矩阵的分解矩阵的分解 1. 1.矩阵的三角分解矩阵的三角分解 矩阵的三

45、角分解又称为矩阵的三角分解又称为LULU分解,它的目的是分解,它的目的是 把矩阵分解为上三角矩阵把矩阵分解为上三角矩阵U U和下三角矩阵和下三角矩阵L L的乘积。基本格式为的乘积。基本格式为L , L , U, P = lu (A)U, P = lu (A),其中,其中P P为置换矩阵。为置换矩阵。 2. 2. 矩阵的正交分解矩阵的正交分解矩阵的正交分解又称矩阵的正交分解又称QRQR法,是将矩阵分解成法,是将矩阵分解成 一个正规正交矩阵与上三角形矩阵。基本格式为一个正规正交矩阵与上三角形矩阵。基本格式为Q,R=qr(A)Q,R=qr(A),其中,其中 Q Q代表正规正交矩阵,而代表正规正交矩阵

46、,而R R代表上三角形矩阵。代表上三角形矩阵。 3. 3. 矩阵的奇异值分解矩阵的奇异值分解奇异值分解奇异值分解 (sigular value decomposition, (sigular value decomposition, SVD) SVD) 是另一种正交矩阵分解法。是另一种正交矩阵分解法。 U,S,V=svd(A)U,S,V=svd(A),其中,其中U U和和V V是二个是二个 相互正交矩阵,而相互正交矩阵,而S S是对角矩阵,它的对角元素是是对角矩阵,它的对角元素是A A矩阵的奇异值。矩阵的奇异值。 使用使用SVDSVD分解法的用途是解最小平方误差法和数据压缩。分解法的用途是解最小平方误差法和数据压缩。 4. 4.矩阵的特征值分解矩阵的特征值分解求取方阵求取方阵A A的特征值和特征向量基本命令的特征值和特征向量基本命令 v, d =eig(A) v, d =eig(A),返回的,返回的d d阵是阵是A A阵的特征值对角阵。阵的特征值对角阵。 3.8.2 3.8

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论