《[理学]MATLAB电子教案.doc》由会员分享,可在线阅读,更多相关《[理学]MATLAB电子教案.doc(63页珍藏版)》请在三一办公上搜索。
1、第1章 MATLAB简介1.1 概述MATLAB是MATrix LABoratory(矩阵实验室)的缩写,由美国The Math Works公司于1984年推出的一种科学与工程计算语言。主要特点:一、简单易学。二、代码短小高效。三、功能丰富,可扩展性强。四、强大的图形表达功能。五、强有力的系统仿真功能。1.2 桌面启动启动MATLAB桌面主要采用以下两种方法:一、在Windows桌面上,双击MATLAB的快捷方式图标。采用这种方式打开的MATLAB桌面以matlab*work为当前目录。二、双击matlab*binwin32文件夹中的MATLAB.exe。采用这种方式打开的MATLAB桌面以m
2、atlab71为当前目录。两者区别:当前目录不同。注:*为MATLAB的软件版本号1.3 通用操作界面简介一、命令窗口缺省情况下,位于桌面右侧,是用户与MATLAB进行人机对话的主要环境。在该窗口内,可输入各种由MATLAB运行的命令、函数、表达式,显示除图形外的所有运算结果。二、命令历史窗口缺省情况下,位于桌面左下方的前台,该窗口记录并显示每次开启MATLAB的时间及所有MATLAB运行过的命令、函数及表达式等,允许用户对它们进行选择复制、重运行及产生M文件。三、当前目录浏览器缺省情况下,位于MATLAB桌面左上方的前台。在该浏览器中,可以进行当前目录的设置,展示相应目录上的.m及.mdl等
3、文件,复制、编辑和运行M文件以及装载MAT数据文件等。四、工作空间浏览器缺省情况下,位于MATLAB桌面左上方的后台,该窗口列出了MATLAB工作空间中所有数据的变量信息,包括变量名、大小、字节数等。在该窗口中,可以对变量进行观察、编辑、提取及保存。五、数组编辑器缺省情况下,不随操作界面的出现而启动,只有在工作空间浏览器中对变量进行操作时才启动。六、开始按钮缺省情况下,点击按钮会出现MATLAB的现场菜单。该菜单的菜单子项列出了已安装的各类MATLAB组件和桌面工具。七、M文件编辑器/调试器缺省情况下,不随操作界面的出现而启动,只有当进行“打开文件”等操作时才启动。八、帮助导航/浏览器缺省情况
4、下,不随操作界面的出现而启动,只有在特意选择或设置的情况下,才以独立交互界面的形式出现。该浏览器详尽展示了由超文本写成的在线帮助。1.4 运行方式MATLAB提供了两种运行方式,即命令行方式和M文件方式。 一、命令行运行方式可以通过在MATLAB命令窗口中输入命令行来实现计算或绘图功能。例:已知矩阵A=,B=,完成矩阵求和运算A+B。解:在MATLAB命令窗口输入下述内容:A=5 6;7 8;B=1 2;3 4;C=A+B按下回车键后,在MATLAB命令窗口显示运行结果如下:C=6 81 12二、M文件运行方式命令行输入方式实际上也是MATLAB语言的一种程序编制方式,但这种方式只能编写简单的
5、程序。若程序比较复杂,就应该把程序写成一个由多行命令组成的程序文件,即程序扩展名为.m的M文件,让MATLAB语言执行这个文件。在MATLAB命令窗口中选择菜单“File|New|M-File”,即可打开一个缺省名为Untitled.m的M文件编辑/调试器窗口。把程序输入后,选择菜单“Debug|Run”即可运行。M文件运行方式的优点是所编写的程序是以扩展名为.m的文件形式存储的,可调试,可重复运行,特别适合于求解复杂问题。1.5 图形窗口在MATLAB命令窗口中选择菜单“File|New|Figure”,或在命令窗口中输入“figure”或其他绘图命令,即可打开MATLAB的图形窗口。1.6
6、 帮助系统MATLAB的帮助系统包括命令行帮助、联机帮助和演示帮助。一、命令行帮助命令行帮助是一种“纯文本”帮助方式。利用“help”命令就可以获得命令行帮助。格式:help 函数或工具箱名称二、联机帮助由帮助导航/浏览器完成。打开方法有:在MATLAB命令窗口中运行命令“helpbrowser”或“helpdesk”。在MATLAB桌面上,用鼠标左键单击工具栏帮助图标,或选择菜单“Help|MATLAB Help”。在MATLAB各独立出现的交互窗口中,选择菜单“Help|MATLAB Help”。三、演示帮助运行演示程序的方法有两种:在MATLAB命令窗口中运行命令“demos”。在MAT
7、LAB命令窗口中选择菜单“Help|Demos”。四、Web帮助官方网站:中文论坛:五、PDF帮助官方网站下载PDF帮助文档。1.7 工具箱MATLAB的工具箱分为辅助功能型工具箱和专业功能性工具箱。一、控制系统工具箱是专门对控制系统工程设计的函数和工具的集合。该工具箱主要采用M文件形式,提供了丰富的算法程序,主要用于反馈控制系统的建模、分析与设计。控制系统工具箱的主要作用:1、可以创建控制系统的个各种数学模型。2、应用控制系统工具箱能够轻松地绘制控制系统的时间响应曲线、频率特性曲线及根轨迹图。二、SimulinkSimulink是用来进行建模、分析和仿真各种动态系统的一种交互环境,它提供了采
8、用鼠标拖放的方法建立系统框图模型的图形交互平台。其主要功能如下:交互建模;交互仿真;扩充和定制;与MATLAB和工具箱集成。三、其他解决控制领域问题的工具箱系统辨识工具箱模糊逻辑工具箱鲁棒控制工具箱模型预估控制工具箱1.8 安装和内容选择按照安装向导即可安装,另外也可以通过网络下载绿色免安装版直接使用。第2章 MATLAB基本使用方法及常用功能介绍2.1 应用基础一、最简单的计算器使用方法MATLAB的基本特性之一就是其演草纸式的数学运算功能,用户可以在命令窗口中进行各种数学演算。例:求算术运算的结果。解:在MATLAB命令窗口中输入:(9*(10-1)+19)/22按回车键,命令被执行,显示
9、下述结果:ans=25说明:在全部输入一个命令行内容后,必须按下回车键,该命令才会被执行。无需在命令行的末尾处执行,在一个命令行的任何一处都可执行。运算符号均为西文字符,不能在中文状态下输入。“ans”是运算答案,是MATLAB的一个默认变量。如果不显示计算结果,可在命令行末尾添加分号,以分号结尾的命令行语句,尽管该命令已执行,但MATLAB不会把其运算结果显示在命令窗口中。二、矩阵1、矩阵的生成在MATLAB中,矩阵的生成可以以矩阵的格式输入数据,也可以用“load”命令调用已存储的矩阵数据或矩阵变量,还可以应用MATLAB提供的函数生成特殊矩阵。在MATLAB中输入矩阵要遵循以下基本规则:
10、矩阵元素之间用空格或逗号分隔,矩阵行之间用分号隔离,整个矩阵放在方括号里,且标点符号一定要在英文状态下输入。不必事先对矩阵维数做任何说明,存储时将自动配置。MATLAB区分字母的大小写。例:以矩阵格式输入数据,自定义一个三阶帕斯卡矩阵A=。解:在MATLAB命令窗口中输入:A=1,1,1;1,2,3;1,3,6 %或者把逗号改为空格输入运行结果为:A= 1 1 1 1 2 3 1 3 6A(I,j)表示矩阵A中第i行第j列元素;A(i,:)表示矩阵A中第i行全部元素;A(:,j)表示矩阵A中第j列全部元素。2、特殊矩阵的生成(1)空矩阵空矩阵用“ ”表示。空矩阵的大小为零,但变量名却保存在工作
11、空间中。(2)单位矩阵单位矩阵使用函数eye( )实现,调用格式如下:eye(n) 生成nn维单位矩阵eye(n,m) 生成nm维单位矩阵(3)零矩阵零矩阵用函数zeros( )实现,调用格式与函数eye( )完全相同。(4)全部是1的矩阵元素全部为1的矩阵可用函数ones( )实现,调用格式与函数eye( )完全相同。(5)对角矩阵的生成对角矩阵是指对角线上的元素为任意数,其他元素为零的矩阵。用函数diag( )实现。格式为:diag(V)diag(V,K)说明:V为某个向量,K为向量偏离主对角线的列数。K=0,V在主对角线上;K0,V在主对角线以上;K v=1 2 3 4 5; diag(
12、v)其运行结果为:ans = 1 0 0 0 0 0 2 0 0 0 0 0 3 0 0 0 0 0 4 0 0 0 0 0 5三、MATLAB的基本要素MATLAB的基本要素包括变量、预定义变量、数值、字符串、运算符、标点符及复数等。1、变量MATLAB会自动依据所赋予变量的值或对变量所进行的操作来识别变量的类型。如果赋值变量已存在,将使用新值代替旧值,并以新值类型代替旧值类型。MATLAB变量的命名遵循以下规则:(1)变量均先定义、后使用。(2)变量名以英文字母开头。(3)变量名可以由字母、数字和下划线混合组成。(4)对于6.5以上版本,变量名最多可包含63个字符。(5)变量名中不得包含空
13、格和标点,但可以包含下划线。(6)MATLAB区分变量大小写。2、预定义变量在MATLAB中存在一些固定变量(也称为常量),这就是MATLAB默认的预定义变量,也称为默认变量,每当MATLAB启动时,这些变量就被产生。MATLAB的预定义变量名称变量含义名称变量含义ans计算结果的缺省变量名nargin函数输入变量个数beep使计算机发出“嘟嘟”声nargout函数输出变量个数bitmax最大正整数,9.0072pi圆周率eps计算机中的最小数,=realmin最小正实数,i或j虚数单位,定义为realmax最大正实数,Inf或inf无穷大,如1 / 0varagin可变的函数输入变量个数Na
14、N或nan不定值,如0 / 0,/,0*varagout可变的函数输出变量个数3、数值可以使用十进制计数法,也可以使用科学计数法,数值的有效范围为。4、字符串创建字符串的方法:先将待建的字符串放在一个“单引号对”中,再按回车键,且该单引号对必须在英文状态下输入,但字符串内容可以为中文。5、运算符MATLAB的运算符包括算术运算符、关系运算符和逻辑运算符。第 63 页/共 63页MATLAB的算术运算符 操作符功能操作符功能算术加算术右除算术减.*点乘*算术乘.点乘方算术乘方.点左除算术左除./点右除MATLAB的关系运算符及逻辑运算符操作符功能操作符功能操作符功能= =等于=大于等于&与=不等
15、于大于 a=2:8运行结果为:a = 2 3 4 5 6 7 8例:用冒号定义增量为给定值的行向量。解:在MATLAB命令窗口中输入: a=0:10:80运行结果为:a = 0 10 20 30 40 50 60 70 80例:用冒号截取指定矩阵中的部分元素。解:在MATLAB命令窗口中输入: A=1 2 3;4 5 6;7 8 9; B=A(1:2,:) %取出矩阵A的第1行和第2行运行结果为:B = 1 2 3 4 5 6(2)分号分号在矩阵中用来分隔行,如果不希望某些运算结果显示在屏幕中,还可以用分号作为该行结束的标志。7、复数复数的生成可以利用下面语句:z=a+bi 或 z=r*exp
16、(*i),其中r是复数的模,是复数幅角的弧度数。例:已知复数,计算。解:在MATLAB命令窗口中输入: z1=3+4i; z2=1+2i; z3=2*exp(pi/6)*i); z=z1*z2/z3运行结果为:z = 0.3349 + 5.5801i2.2 基本操作一、命令窗口1、命令窗口显示及设置个性设置方法:选择菜单“File|Preference”,打开参数设置对话框。2、命令窗口的常用控制命令命令功能命令功能cd设置当前工作目录exit关闭/退出MATLABclf清除图形窗口quit关闭/退出MATLABclc清除命令窗口中显示的内容more使其后的显示内容分页进行clear清除工作空
17、间中保存的变量type显示指定M文件的内容dir列出指定目录下的文件和子目录清单which指出其后文件所在的目录edit打开M文件编辑器3、命令窗口中命令行的编辑键名功能键名功能前寻式调回已输入过的命令行Home使光标移到当前行的首端后寻式调回已输入过的命令行End使光标移到当前行的尾端在当前行中左移光标Delete删去光标右边的字符在当前行中右移光标Backspace删去光标左边的字符PageUp前寻式翻阅当前窗口中的内容Esc清除当前行的全部内容PageDown后寻式翻阅当前窗口中的内容二、命令历史窗口命令历史窗口的主要应用功能及操作方法应用功能操作方法简捷操作方法复制单行或多行命令选中单
18、行或多行命令;单击鼠标右键打开现场菜单;选择菜单“Copy”;把选中的单行或多行命令粘贴到包括命令窗口在内的任何地方选中变量之后,按“Ctrl+C”键运行单行命令选中单行命令;单击鼠标右键打开现场菜单;选择菜单“Evaluate Selection”;在命令窗口中运行用鼠标左键双击单行命令运行多行命令选中多行命令;单击鼠标右键打开现场菜单;选择菜单“Evaluate Selection”;在命令窗口中运行将多行命令写成M文件选中多行命令;单击鼠标右键打开现场菜单;选择菜单“Create M-File”,打开书写这些命令的M文件编辑/调试器;进行相应操作,即建立所需的M文件三、当前目录浏览器文件
19、详细列表区的主要应用功能及操作方法应用功能操作方法简捷操作方法运行M文件选中文件;单击鼠标右键;选择菜单“Run”编辑M文件选中文件,单击鼠标右键;选择菜单“Open”双击M文件把MAT文件的全部数据输入工作空间选中数据文件,单击鼠标右键;选择菜单“Open”双击MAT文件把MAT文件的部分数据输入内存选中数据文件,单击鼠标右键;选择菜单“Import Data”,打开数据预览选择对话框“Import Wizard”;选中待装载数据变量名,单击“Finish”四、工作空间浏览器工作空间是指运行MATLAB的程序或命令时生成的所有变量与MATLAB提供的常量构成的空间,也称为内存空间。工作空间浏
20、览器的主要应用功能及操作方法应用功能操作方法简捷操作方法变量的字符显示选中变量;右键选择菜单“Open Selection”用鼠标左键双击变量变量的图形显示选中变量;右键选择菜单“Plot all columns”全部内存变量保存为MAT文件右键选择菜单“Save as”部分变量保存为MAT文件选中若干变量,右键选择菜单“Save as”重命名变量名选中欲重命名的变量;右键选择“Rename”变量复制选中若干变量,右键选择“Copy”Ctrl+C五、数组编辑器是工作空间浏览器的一个组件,用于生成数组、观察数组内容以及编辑其值。打开的三种方法:1、选中工作空间浏览器中的任意一维或二维数组,再双击
21、该数组。2、单击工作空间浏览器的工具栏图标。3、选择菜单“Open Selection”。通常在命令窗口中输入较大规模数组时,先在命令窗口中向一个新变量赋“空”矩阵,然后打开数组编辑器逐格填写数组元素值。六、数据文件的存取1、数据文件的保存save FileName 将全部变量保存为当前目录下的FileName.mat文件save FileName v1 v2 将变量v1,v2保存为FileName.mat文件save FileName v1 v2 append 将变量v1,v2添加到已有的FileName.mat文件中save FileName v1 v2 -ascii 将变量v1,v2保存
22、为FileName 8位ASCII文件save FileName v1 v2 ascii -double 将变量v1,v2保存为FileName 16位ASCII文件2、数据文件的调入load FileName 将FileName.mat文件中的全部变量装入工作空间load FileName v1 v2 将FileName.mat文件中的v1,v2变量装入工作空间load FileName v1 v2 -ascii 将FileName ASCII文件中的v1,v2变量装入工作空间2.3 数值运算一、向量及其运算1、向量的生成(1)在命令窗口中直接生成向量例:命令窗口直接生成向量演示解:在MAT
23、LAB命令窗口中输入: X1=1 2 3 4 5运行结果为:X1 = 1 2 3 4 5 X2=1;2;3;4;5 %求列向量的转置,用右单引号,而不是一般线性代数中的上标“T”运行结果为:X2 = 1 2 3 4 5(2)等差元素向量的生成冒号生成法。基本格式为V=a:n:b。V为生成的向量,a为向量V的第一个元素,b为向量V的最后一个元素;n为步长,缺省设置为1,且n=1时可忽略。使用linspace( )函数。格式:X=linspace(a,b,n)生成元素在a,b之间的线性等分行向量,向量元素个数为n,n的缺省值为100。例:等差元素向量生成演示解:在MATLAB命令窗口中输入: X1
24、=1:2:9运行结果为:X1 = 1 3 5 7 9 X2=linspace(10,-2,5)运行结果为:X2 = 10 7 4 1 -22、向量的基本运算(1)向量与常数的四则运算指向量中的每个元素与常数进行的加减乘除等运算,符号分别为*。当进行除法运算时,向量只能作为被除数。(2)向量与向量之间的加减运算指向量中的每个元素与另一个向量中相对应元素加减运算,运算符号为。(3)向量的点积和叉积运算向量的点积等于其中一个向量的模与另一个向量的模在这个向量方向上投影的乘积。向量叉积是指过两个相交向量的交点并与两向量所在平面垂直的向量,且向量维数只能为3。在MATLAB中使用函数dot()与cros
25、s()分别计算向量的点积与叉积。例:向量的点积与叉积运算演示。解:在MATLAB命令窗口中输入: A=10 20 30; B=40 50 60; C=dot(A,B) %计算点积运行结果为:C = 3200 D=cross(A,B) %计算叉积运行结果为:D = -300 600 -300二、数组及其运算1、数组的概念数组是一组实数或复数排成的长方阵列。单维数组通常指单行或单列的矩阵,即行向量或列向量。多维数组可以认为是矩阵在维数上的扩张。2、数组的基本数值运算(1)数组与常数的四则运算单维数组与常数的运算与向量与数的运算完全相同。例:数组与常数的四则运算演示。解:在MATLAB命令窗口中输入
26、: A=1 2 3;2 3 4;3 4 5; B=1 2 3;4 5 6;7 8 9; s=5; C=s*A-B/s+10运行结果为:C = 14.8000 19.6000 24.4000 19.2000 24.0000 28.8000 23.6000 28.4000 33.2000(2)数组间的四则运算按元素与元素的方式进行。加减法运算与矩阵的加减运算完全相同;数组间的相乘、相除运算符号为“”、“/”或“ ”。例:数组相乘运算演示。解:在MATLAB命令窗口中输入: A=1 3 5;2 4 6;3 5 7; B=2 4 6;1 3 5;3 5 7; C=A.*B运算结果为:C = 2 12
27、30 2 12 30 9 25 49例:数组相除运算演示。解:在MATLAB命令窗口中输入: A=1 3 5;2 4 6;3 5 7; B=2 4 6;1 3 5;3 5 7; C=A.B %点左除运行结果为:C = 2.0000 1.3333 1.2000 0.5000 0.7500 0.8333 1.0000 1.0000 1.0000 D=A./B %点右除运行结果为:D = 0.5000 0.7500 0.8333 2.0000 1.3333 1.2000 1.0000 1.0000 1.0000(3)数组的乘方运算数组的乘方运算(幂运算)符号为“”,按元素对元素的幂运算进行。与矩阵的
28、幂运算完全不同。例:数组的乘方运算演示。解:在MATLAB命令窗口中输入: A=1 3 5;2 4 6;3 5 7; E=A.2运行结果为:E = 1 9 25 4 16 36 9 25 49说明:数组乘、除及乘方运算符前的小黑点绝不能遗漏,否则将不按数组运算规则运算;在执行数组与数组运算时,参与运算的数组必须维数相同,运算结果所得数组也总与原数组维数相同。3、元胞数组(Cell Array)元胞数组是MATLAB中一种特殊的数组,它的基本元素是元胞(Cell),每个元胞本身在数组中是平等的,只能以下标区分。元胞可以存放任何类型、任何大小的数组,包括任意维数值数组、字符串数组以及符号对象等,并
29、且同一个元胞数组中各元胞中的内容可以不同。在MATLAB中,元胞数组必须用花括号“”。生成元胞数组的方法有:(1)使用函数cell( )生成元胞数组格式:c=cell(n) 生成nn维空元胞数组 c=cell(m,n) 生成mn维空元胞数组 c=cell(m,n,p,) 生成mnp维空元胞数组 c=cell(size(A) 生成与A维数组相同的空元胞数组,A为数值数组或元胞数组例:使用函数cell( )生成一个22维元胞数组。解:在MATLAB命令窗口中输入: A=ones(3,4) %生成34维全部元素为1的数值矩阵A = 1 1 1 1 1 1 1 1 1 1 1 1 C=cell(A,1
30、,2;cell,1;2) %使用cell( )函数生成元胞数组C C = 3x4 double 1x2 double cell 2x1 double C(:,1) %显示元胞数组C的第1列内容ans = 3x4 double cell(2)使用花括号 生成元胞数组例:直接用花括号生成上例中的元胞数组。解:在MATLAB命令窗口中输入: A=ones(3,4); C=A,1,2;cell,1;2C = 3x4 double 1x2 double cell 2x1 double建议优先采用第二种方法生成元胞数组。三、基本数学函数运算MATLAB的基本数学函数三角函数和双曲函数指数与对数函数函数名功
31、能函数名功能函数名功能函数名功能sin正弦cosh双曲余弦exp指数log2以2为底的对数cos余弦tanh双曲正切log自然对数pow2以2为底的指数tan正切coth双曲余切log10常用对数sqrt平方根cot余切sech双曲正割复数函数sec正割csch双曲余割abs绝对值(模)imag复数的虚部csc余割asinh反双曲正弦angle复数的相角isreal复数的实部asin反正弦acosh反双曲余弦conj复数的共轭acos反余弦atanh反双曲正切坐标变换函数atan反正切acoth反双曲余切cart2sph直角坐标变为球坐标pol2cart柱坐标变为直角坐标acot反余切asec
32、h反双曲正割cart2pol直角坐标变为柱(或极坐标)sph2cart球坐标变为直角坐标asec反正割acsch反双曲余割其他特殊函数acsc反余割atan2四象限反正切sign符号函数expint指数积分函数sinh双曲正弦erf误差函数gamma函数erfc误差补函数gammainc不完全函数erfcx刻度误差补函数gammaln函数的对数erfinv逆误差函数isprime质数为真函数例:求tan45的函数值。解:在MATLAB命令窗口中输入: tan(pi/4) %三角函数运算的角度单位是弧度,要先由度转化为弧度ans = 1.0000例:求复数z=5+i5的模和相角。解:在MATLA
33、B命令窗口中输入: z=5+5i; Am=abs(z)Am = 7.0711 Fm=angle(z)Fm = 0.7854四、矩阵的函数运算矩阵的基本数值运算与数组的基本数值运算基本相同,不同的是:矩阵之间进行乘、除及乘方运算的运算符没有小黑点。实现矩阵特有运算的函数函数名功能函数名功能sqrtm矩阵开方运算gsvd广义奇异值expm矩阵指数运算inv矩阵求逆logm矩阵对数运算norm/normest求矩阵和向量的范数cond求矩阵的条件数null矩阵的零空间condest求矩阵1的范数条件估计pinv伪逆矩阵condeig求与矩阵特征值有关的条件数poly求矩阵的特征值多项式det求矩阵的
34、行列式polyvalm求矩阵特征值多项式的值eig/eigs求矩阵的特征值和特征向量rank求矩阵的秩funm矩阵的任意函数trace求矩阵的迹1、矩阵的转置、逆运算与行列式运算例:求矩阵的转置演示。解:在MATLAB命令窗口中输入: A=1 2 3;4 5 6;7 8 9; C=AC = 1 4 7 2 5 8 3 6 9例:矩阵求逆演示。解:在MATLAB命令窗口中输入: A=1 2 0;2 5 -1;4 10 -1; B=inv(A)B = 5 2 -2 -2 -1 1 0 -2 1例:求矩阵的行列式演示。解:在MATLAB命令窗口中输入: A=1 2 0;2 5 -1;4 10 -1;
35、 B=det(A)B = 12、矩阵的特征值运算使用函数eig( )。格式:d=eig(A) %d为矩阵A的特征值向量D=eig(A)V,D=eig(A) %V、D分别为矩阵A的特征向量矩阵与特征值矩阵例:求矩阵A=的特征值向量、特征向量矩阵和特征值矩阵。解:在MATLAB命令窗口中输入: A=1 2 0;2 5 -1;4 10 -1; d=eig(A) %求矩阵A的特征值向量d = 3.7321 0.2679 1.0000 B,C=eig(A) %求矩阵A的特征向量矩阵和特征值矩阵B = -0.2440 -0.9107 0.4472 -0.3333 0.3333 0.0000 -0.9107
36、 -0.2440 0.8944C = 3.7321 0 0 0 0.2679 0 0 0 1.00003、矩阵的秩运算例:矩阵求秩演示。解:在MATLAB命令窗口中输入: A=1 2 0;2 5 -1;4 10 -1; B=rank(A)B = 3五、多项式及其运算1、多项式的表达及其构造代数运算中,多项式一般可表示为如下形式:将上式中系数按降幂次序可存放在如下的行向量中:例:用MATLAB构造多项式。解:在MATLAB命令窗口中输入: P=2 5 0 4 1 4; %无论多项式的系数是否为零,都必须写完整 poly2sym(P) ans = 2*x5+5*x4+4*x2+x+42、多项式运算
37、函数调用格式功能说明p=conv(p1,p2)多项式卷积(乘法)p是多项式p1和p2的乘积多项式q,r=deconv(p1,p2)多项式解卷(除法)q是p1被p2除的商多项式,r是余多项式p=poly(AR)由根求多项式求方阵AR的特征多项式p,或求向量AR指定根所对应的多项式dp=polyder(p)多项式求导数求多项式p的导数多项式dpdp=polyder(p1,p2)求多项式p1,p2乘积的导数多项式dpnum,den=polyder(p1,p2)对有理分式(p1/p2)求导数所得的有理分式为(num/den)p=polyfit(x,y,n)多项式曲线拟合求x,y向量给定数据的n阶拟合多
38、项式ppA=polyval(p,S)多项式求值按数组运算规则计算多项式值,p为多项式,S为矩阵pM=polyvalm(p,S)矩阵多项式求值按矩阵运算规则计算多项式值,p为多项式,S为矩阵r,p,k=residue(num,den)分式多项式的部分分式展开num、den分别是分子、分母多项式系数向量,r、p、k分别是留数、极点、直项r=roots(p)多项式求根r是多项式p的根向量3、多项式运算举例(1)代数方程求根例:求方程的根。解:在MATLAB命令窗口中输入: P=1 2 24 48 -25 -50; r=roots(P)r = 0.0000 + 5.0000i 0.0000 - 5.0000i 1.0000 -2.0000 -1.0000 (2)用多项式的根构造多项式例:用多项式的根构造多项式。解:在MATLAB命令窗口中输入: P=1