(精品)Matlab简明教程PPT (2).ppt
第一章 MATLAB 7简介 n n 教学目标n n 教学重点n n 教学过程教学目标n n本章主要介绍本章主要介绍MATLABMATLAB的一些基本情况,让大的一些基本情况,让大家对该软件有一个整体的认识。它主要包括家对该软件有一个整体的认识。它主要包括MATLABMATLAB的功能、发展历史以及的功能、发展历史以及MATLAB 7MATLAB 7的新的新特点等,由于特点等,由于MATLABMATLAB软件在不断地更新,所软件在不断地更新,所以,也要介绍获取以,也要介绍获取MATLAB 7MATLAB 7最新信息的途径。最新信息的途径。教学重点n n了解MATLAB语言的基本功能和特点n n了解MATLAB 7的新特点和新功能教学过程n n MATLAB的初步知识n n MATLAB的优点n n MATLAB的缺点n n MATLAB 7的新功能 MATLAB的初步知识n nMATLABMATLAB最初是由最初是由Cleve Cleve MolerMoler用用FortranFortran语言设语言设计的,有关矩阵的算法来自计的,有关矩阵的算法来自LinpackLinpack和和EispackEispack课题的研究成果;现在的课题的研究成果;现在的MATLABMATLAB程序是程序是MathWorksMathWorks公司用公司用 C C语言开发的。语言开发的。n n MATLABMATLAB作为美国作为美国 MathWorksMathWorks公司开发的用于公司开发的用于概念设计,算法开发,建模仿真,实时实现的概念设计,算法开发,建模仿真,实时实现的理想的集成环境。是目前最好的科学计算类软理想的集成环境。是目前最好的科学计算类软件。件。MATLAB的主要应用领域(1 1)、数值分析。)、数值分析。(2 2)、数值和符号计算。)、数值和符号计算。(3 3)、工程与科学绘图。)、工程与科学绘图。(4 4)、控制系统的设计与方针。)、控制系统的设计与方针。(5 5)、数字图像处理。)、数字图像处理。(6 6)、数字信号处理。)、数字信号处理。(7 7)、通讯系统设计与仿真。)、通讯系统设计与仿真。(8 8)、财务与金融工程。)、财务与金融工程。MATLAB的优点n n1.容易使用n n2.可以由多种操作系统支持n n3.丰富的内部函数n n4.强大的图形和符号功能n n5.可以自动选择算法n n6.与其他软件和语言有良好的对接性 MATLAB的缺点 n n运行效率较低n n由于由于MATLABMATLAB是一种合成语言,因此,与一般的高级是一种合成语言,因此,与一般的高级语言相比,用语言相比,用MATLABMATLAB编写的程序运行起来时间往往编写的程序运行起来时间往往要长一些。要长一些。n n价格比较贵n n一般的用户可能支付不起它的高昂费用。但是,购一般的用户可能支付不起它的高昂费用。但是,购买买MATLABMATLAB的昂贵费用在很大程度上可以由使用它所的昂贵费用在很大程度上可以由使用它所编写的程序的价值抵消。编写的程序的价值抵消。MATLAB 7的新功能的新功能n n提供了MATLAB、SIMULINK的升级以及其他最新的75个模块的升级 n n该版本不仅提高了产品质量,同时也提供了最新的用于数据分析、大规模建模、固定点开发和编码等新特征。第二章 MATLAB 7的安装和用户界面n n 教学目标n n 教学重点n n 教学过程教学目标n n本章主要介绍MATLAB 7的安装和用户界面,通过对本章的学习,用户将学会MATLAB软件的安装过程并对用户界面有一个直观的认识教学重点n n初步认识MATLAB 7的用户界面n n掌握MATLAB 7的路径搜索教学过程n n MATLAB 7的安装过程n n MATLAB 7用户界面概述 n n MATLAB 7的路径搜索 MATLAB 7的安装 过程n n用户在购买到正版用户在购买到正版MATLAB 7MATLAB 7后,可以按照相关后,可以按照相关的说明进行安装,安装过程相对比较简单。这的说明进行安装,安装过程相对比较简单。这里不在赘述。安装里不在赘述。安装MATLAB 7MATLAB 7必须具有由必须具有由MathworksMathworks公司提供的合法个人使用许可,如公司提供的合法个人使用许可,如果没有使用许可,用户将无法安装果没有使用许可,用户将无法安装MATLABMATLAB。MATLAB 7用户界面概述n nMATLAB 7MATLAB 7的用户界面主要包括以下三个方面的的用户界面主要包括以下三个方面的内容:内容:n nMATLAB 7的主菜单n nMATLAB 7的工具栏n nMATLAB 7的窗口1.MATLAB 7的主菜单n nMATLAB 7MATLAB 7的主菜单包括的主菜单包括FileFile、EditEdit、DebugDebug、DesktopDesktop、WindowWindow和和HelpHelp菜单。菜单。n n可以执行的操作有可以执行的操作有NewNew、OpenOpen、UndoUndo、RedoRedo、CutCut、copycopy和和StepStep等。等。2.MATLAB 7的工具栏n nMATLAB 7MATLAB 7的工具栏包括新建文件、打开文件、剪的工具栏包括新建文件、打开文件、剪切、复制和粘贴等常用图标切、复制和粘贴等常用图标n n同时,同时,MATLAB 7MATLAB 7的工具栏适时显示的工具栏适时显示MATLAB 7MATLAB 7的的当前路径,用户还可以通过工具栏来改变当前路当前路径,用户还可以通过工具栏来改变当前路径径3.MATLAB 7的窗口 n n打开打开MATLAB 7MATLAB 7,默认打开的窗口包括:,默认打开的窗口包括:(1)(1)命命令窗口令窗口(Command Window)(Command Window);(2)(2)命令历史窗口命令历史窗口(Command History)(Command History);(3)(3)工作间管理窗口工作间管理窗口(Workspace)(Workspace);(4)(4)当前路径窗口当前路径窗口(Current(Current Directory)Directory)n n此外,还有编译窗口、图形窗口和帮助窗口等此外,还有编译窗口、图形窗口和帮助窗口等其他种类的窗口其他种类的窗口 。(1).命令窗口n n在默认设置下,命令窗在默认设置下,命令窗口自动显示于口自动显示于MATLABMATLAB界面中,如果用户只想界面中,如果用户只想调出命令窗口,也可以调出命令窗口,也可以选择选择Desktop|Desktop Desktop|Desktop Layout|Command Layout|Command Window OnlyWindow Only命令。命令。MATLAB 7MATLAB 7用户界面的用户界面的右侧窗口就为命令窗口。右侧窗口就为命令窗口。(2).命令历史窗口 n n命令历史窗口显示用户命令历史窗口显示用户在命令窗口中所输入的在命令窗口中所输入的每条命令的历史记录,每条命令的历史记录,并标明使用时间,这样并标明使用时间,这样可以方便用户的查询。可以方便用户的查询。n n如果用户想再次执行某如果用户想再次执行某条已经执行过的命令,条已经执行过的命令,只需在命令历史窗口中只需在命令历史窗口中双击该命令。双击该命令。(3).工作间管理窗口 n n工作间管理窗口就是用工作间管理窗口就是用来显示当前计算机内存来显示当前计算机内存中中MATLABMATLAB变量的名称、变量的名称、数学结构、该变量的字数学结构、该变量的字节数及其类型。节数及其类型。n n在默认设置下,工作间在默认设置下,工作间管理窗口自动显示于管理窗口自动显示于MATLABMATLAB界面中。界面中。(4).当前路径窗口 n n在默认设置下,当前路在默认设置下,当前路径窗口自动显示于径窗口自动显示于MATLABMATLAB界面中,用户界面中,用户也可以选择也可以选择Desktop|Desktop|Current DirectoryCurrent Directory命令命令调出或隐藏该命令窗口。调出或隐藏该命令窗口。n n当前路径窗口显示着当当前路径窗口显示着当前用户工作所在的路径前用户工作所在的路径 MATLAB 7的路径搜索 n nMATLAB 7MATLAB 7有一个专门用于寻找有一个专门用于寻找“.m”.m”文件的路文件的路径搜索器。径搜索器。“.m”.m”文件是以目录和文件夹的方文件是以目录和文件夹的方式分布于文件系统中的,一部分式分布于文件系统中的,一部分“.m”.m”文件的文件的目录是目录是MATLAB 7MATLAB 7的子目录,由于的子目录,由于MATLAB 7MATLAB 7的的一切操作都是在它的搜索路径一切操作都是在它的搜索路径(包括当前路径中包括当前路径中进行的,所以如果调用的函数在搜索路径之外,进行的,所以如果调用的函数在搜索路径之外,MATLAB 7MATLAB 7就会认为此函数并不存在。就会认为此函数并不存在。MATLAB 7的路径搜索n n(1)MATLAB 7的当前目录 n n在命令窗口中输入在命令窗口中输入cdcd命令,并按命令,并按EnterEnter键确认,键确认,即显示有当前即显示有当前MATLAB 7MATLAB 7工作所在目录。工作所在目录。n n cdcdn nC:MATLAB71workC:MATLAB71workn n MATLAB 7的路径搜索n n(2 2)MATLAB 7MATLAB 7的路的路径搜索径搜索 n n选择选择MATLABMATLAB的主窗口的主窗口中中File|Set PathFile|Set Path命令命令 ,进入到设置路径搜索,进入到设置路径搜索的对话框的对话框 ,用户可以,用户可以设置新的路径设置新的路径第3章 基本使用方法n n 教学目标n n 教学重点n n 教学过程教学目标n nMATLAB 7MATLAB 7的优点不仅在于强大的功能,还在于其的优点不仅在于强大的功能,还在于其简单易学。简单易学。n n本章主要是介绍本章主要是介绍MATLAB 7MATLAB 7的基本使用方法。的基本使用方法。n n用户在学习完本章的内容后,可以进行基本的数用户在学习完本章的内容后,可以进行基本的数值运算,从而能够容易地解决许多在学习和科研值运算,从而能够容易地解决许多在学习和科研中遇到的计算问题中遇到的计算问题 。教学重点n n标点符号的使用n n常用的操作命令和键盘技巧n nMATLAB 7的数据类型n n常量和变量的使用方法n n浮点数和复数的使用方法教学过程n n简单的数学运算 n n常用的操作命令和键盘技巧n n MATLAB 7的数据类型 1.简单的数学运算 n n最简单的计算器使用法 n n标点符号的使用 n n常用的操作命令和键盘技巧(1)最简单的计算器使用法 n n直接输入法直接输入法 n n 3*30+3*35+4*30+4*323*30+3*35+4*30+4*32n nansans=n n 443 443n nn n存储变量法存储变量法 n n grade1=3*30 grade1=3*30n ngrade1=grade1=n n 90 90n n grade2=3*35 grade2=3*35n ngrade2=grade2=n n 105 105n n total=grade1+grade2total total=grade1+grade2total=n n 195 195n n符符 号号功功 能能实实 例例+加法加法1+21+2-减法减法1 1月月2 2日日*乘法乘法1*21*2/、除法除法1/21/2或是或是2121 乘方乘方2121数值运算符号(2)常用标点符号标标 点点 符符 号号定定 义义标标 点点 符符 号号定定 义义;区分行,取消运行显示等区分行,取消运行显示等.小数点以及域访问等小数点以及域访问等,区分列,函数参数分隔符等区分列,函数参数分隔符等连接语句连接语句:在数组中应用较多在数组中应用较多字符串的标识符号字符串的标识符号()()指定运算优先级等指定运算优先级等=赋值符号赋值符号矩阵定义的标志等矩阵定义的标志等!调用操作系统运算调用操作系统运算用于构成单元数组等用于构成单元数组等%注释语句的标识注释语句的标识应用举例n n例例4-1 4-1 清华大学土木系一年级有清华大学土木系一年级有3 3个班,每班个班,每班3030人,二人,二年级有年级有3 3个班,每班个班,每班3535人,三年级有人,三年级有4 4个班,每班个班,每班3030人,人,四年级有四年级有4 4个班,每班个班,每班3232人。求清华大学土木系本科一人。求清华大学土木系本科一共有多少人。共有多少人。n n grade1=3*30;grade1=3*30;n n grade2=3*35;grade2=3*35;n n grade3=4*30;grade3=4*30;n n grade4=4*32;grade4=4*32;n n total=grade1+grade2+grade1+grade2 total=grade1+grade2+grade1+grade2n ntotal=total=n n 443 443n n2.常用的操作命令和键盘技巧 n n在使用MATLAB 7语言编制程序时,掌握一些常用的操作命令和键盘操作技巧,可以起到事半功倍的效果。(1)常用的操作命令 命命 令令该命令的功能该命令的功能命命 令令该命令的功能该命令的功能cdcd显示或改变工作目录显示或改变工作目录holdhold图形保持命令图形保持命令clcclc清除工作窗清除工作窗loadload加载指定文件的变量加载指定文件的变量clearclear清除内存变量清除内存变量packpack整理内存碎片整理内存碎片clfclf清除图形窗口清除图形窗口pathpath显示搜索目录显示搜索目录diarydiary日志文件命令日志文件命令quitquit退出退出MATLAB 7MATLAB 7dirdir显示当前目录下文件显示当前目录下文件savesave保保存存内内存存变变量量到到指指定定文文件件dispdisp显示变量或文字内容显示变量或文字内容typetype显示文件内容显示文件内容echoecho工作窗信息显示开关工作窗信息显示开关(2)常用的键盘操作和快捷键 键盘按钮和快捷键键盘按钮和快捷键该操作的功能该操作的功能键盘按钮和快捷键键盘按钮和快捷键该操作的功能该操作的功能(Ctrl(Ctrlp)p)调用上一行调用上一行Home(CtrlHome(Ctrla)a)光标置于当前行开头光标置于当前行开头(Ctrl(Ctrln)n)调用下一行调用下一行End(CtrlEnd(Ctrle)e)光标置于当前行结尾光标置于当前行结尾(Ctrl(Ctrlb)b)光标左移一个字符光标左移一个字符Esc(CtrlEsc(Ctrlu)u)清除当前输入行清除当前输入行(Ctrl(Ctrlf)f)光标右移一个字符光标右移一个字符Del(CtrlDel(Ctrld)d)删除光标处字符删除光标处字符CtrlCtrl光标左移一个单词光标左移一个单词Backspace(CtrlBackspace(Ctrlh)h)删除光标前字符删除光标前字符CtrlCtrl光标右移一个单词光标右移一个单词AltAltBackSpaceBackSpace恢复上一次删除恢复上一次删除3.MATLAB 7的数据类型 n n常量和变量 n n常量常量 n n变量变量n n浮点数和复数n n浮点数浮点数n n复数复数(1)常量n n在在MATLABMATLAB中有一些特定的变量,它们已经被预定义了某个特中有一些特定的变量,它们已经被预定义了某个特定的值,因此这些变量被称为常量。定的值,因此这些变量被称为常量。MATLAB 7MATLAB 7中的常量主要中的常量主要有有pipi、infinf和和epseps等。等。常常 量量常量的功能常量的功能常常 量量常量的功能常量的功能ansans用作结果的默认变量名用作结果的默认变量名narginnargin函数的输入参数个数函数的输入参数个数beepbeep使计算机发出使计算机发出“嘟嘟嘟嘟”声声narginnargin函数的输出参数个数函数的输出参数个数pipi圆周率圆周率varaginvaragin可变的函数输入参数个数可变的函数输入参数个数epseps浮点数相对误差浮点数相对误差varagoutvaragout可变的函数输出参数个数可变的函数输出参数个数infinf无穷大无穷大realminrealmin最小的正浮点数最小的正浮点数NaNNaN或或nannan不定数不定数realmaxrealmax最大的正浮点数最大的正浮点数i i或或j j复数单位复数单位bitmaxbitmax最大的正整数最大的正整数(2)变量n n变量是变量是MATLAB 7MATLAB 7的基本元素之一,的基本元素之一,MATLAB 7MATLAB 7语言不要求对所使语言不要求对所使用的变量进行事先说明,而且它也不需要指定变量的类型,系统用的变量进行事先说明,而且它也不需要指定变量的类型,系统会根据该变量被赋予的值或对该变量所进行的操作来自动确定变会根据该变量被赋予的值或对该变量所进行的操作来自动确定变量的类型。量的类型。n n变量名长度不超过变量名长度不超过3131位,超过位,超过3131位的字符系统将忽略不计位的字符系统将忽略不计n n变量名区分大小写变量名区分大小写n n变量名必须以字母开头,变量名中可以包含字母、数字或下划线,变量名必须以字母开头,变量名中可以包含字母、数字或下划线,但不允许出现标点符号但不允许出现标点符号(3)浮点数n n几乎在所有的情况下,几乎在所有的情况下,MATLAB 7MATLAB 7的数据都是以双的数据都是以双精度数值来表示的,这些双精度数在系统内部用精度数值来表示的,这些双精度数在系统内部用二进制来表示。这是计算机通常的表示数据的方二进制来表示。这是计算机通常的表示数据的方式,但也带来了一些问题,比如有很多实数不能式,但也带来了一些问题,比如有很多实数不能被精确地表示,对能够表示的值也有一个限制,被精确地表示,对能够表示的值也有一个限制,并且还存在一个浮点相对误差限。所谓相对误差并且还存在一个浮点相对误差限。所谓相对误差限是指限是指MATLAB 7MATLAB 7语言能够区分两个不同大小的数语言能够区分两个不同大小的数时,这两个数之间的最小差值。时,这两个数之间的最小差值。浮点数举例n n下边下边3 3个式子的计算结果是相同的,但是由于这些数字个式子的计算结果是相同的,但是由于这些数字都是使用二进制存储的,在使用双精度数来表达这些都是使用二进制存储的,在使用双精度数来表达这些数时,往往就会出现一些误差数时,往往就会出现一些误差 n n a=0.33-0.5+0.17 a=0.33-0.5+0.17n na=a=n n 2.7756e-017 2.7756e-017n n b=0.33+0.17-0.5 b=0.33+0.17-0.5n nb=b=n n 0 0n n c=0.17-0.5+0.33 c=0.17-0.5+0.33n nc=c=n n 5.5511e-017 5.5511e-017n n(4)复数n nMATLAB 7MATLAB 7语言对复数的处理也是十分简便的,在语言对复数的处理也是十分简便的,在处理复数问题时,不需要进行其他任何的附加操处理复数问题时,不需要进行其他任何的附加操作。作。n n a2=pi+3.14j a2=pi+3.14jn na2=a2=n n 3.1416+3.1400i 3.1416+3.1400in nn n b=4*(1+3/sqrt(-1)b=4*(1+3/sqrt(-1)n nb=b=n n 4.0000-12.0000i 4.0000-12.0000in n 复数的数学运算 举例n n a=1+2*i a=1+2*in na=a=n n 1.0000+2.0000i 1.0000+2.0000in n b=3-4i b=3-4in nb=b=n n 3.0000-4.0000i 3.0000-4.0000in n c=pi+sin(pi/2)*i c=pi+sin(pi/2)*in nc=c=n n 3.1416+1.0000i 3.1416+1.0000in n d=d=a+ba+bn nd=d=n n 4.0000-2.0000i 4.0000-2.0000i第4章 数值向量和数组n n 教学目标n n 教学重点n n 教学过程教学目标n n本本章章将将介介绍绍MATLAB MATLAB 7 7的的数数值值计计算算功功能能,包包括括MATLAB 7MATLAB 7的向量和数组,并介绍它们之间的运算。的向量和数组,并介绍它们之间的运算。n n通通过过对对本本章章的的学学习习,读读者者可可以以编编写写简简单单且且功功能能完完善善的的MATLAB MATLAB 7 7程程序序,从从而而解解决决各各类类基基本本问问题题,用用户户可可以以通通过过本本章章逐逐步步掌掌握握MATLAB MATLAB 7 7的的数数值值计计算算方方法。法。教学重点n n向量的运算方法n n关系和逻辑运算教学过程n n向量及其运算方法n n数组及其运算方法n n多项式的创建和运算方法n n关系和逻辑运算1.向量及其运算 n n在命令窗口中直接输入向量 n n等差元素向量的生成 n n向量与数的四则运算 n n向量与向量之间的加减运算n n点积、叉积和混合积(1)在命令窗口中直接输入向量n n在在MATLAB 7MATLAB 7中,生成向量最简中,生成向量最简单的方法就是在命令窗口中按单的方法就是在命令窗口中按一定格式直接输入。输入的格一定格式直接输入。输入的格式要求是,向量元素用式要求是,向量元素用“”括起来,元素之间用空格、逗括起来,元素之间用空格、逗号或者分号相隔。需要注意的号或者分号相隔。需要注意的是,用它们相隔生成的向量形是,用它们相隔生成的向量形式是不相同的:用空格或逗号式是不相同的:用空格或逗号生成行向量;用分号生成列向生成行向量;用分号生成列向量。量。n n a2=15,21,27,93,101;a2=15,21,27,93,101;n n a1=15;21;27;93;101;a1=15;21;27;93;101;n n a1 a1n na1=a1=n n 15 15n n 21 21n n 27 27n n 93 93n n 101 101n n a2 a2n na2=a2=n n 15 21 27 93 15 21 27 93 101101n n(2)等差元素向量的生成 n n当向量的元素过多,同当向量的元素过多,同时向量各元素有等差的时向量各元素有等差的规律,此时采用直接输规律,此时采用直接输入法将过于繁琐。针对入法将过于繁琐。针对该种情况该种情况 ,可以使用冒,可以使用冒号号(:)(:)和和linspacelinspace函数来函数来生成等差元素向量。生成等差元素向量。n n vec1=10:5:60 vec1=10:5:60n nvec1=vec1=n n 10 15 20 25 30 10 15 20 25 30 35 40 45 50 55 6035 40 45 50 55 60n n vec2=vec2=linspacelinspace (10,60,11)(10,60,11)n nvec2=vec2=n n 10 15 20 25 30 10 15 20 25 30 35 40 45 50 55 6035 40 45 50 55 60(3)向量与数的四则运算 n n向量与数的加法向量与数的加法(减法减法):向量中的每个元素:向量中的每个元素与数的加法与数的加法(减法减法)运运算。算。n n向量与数的乘法向量与数的乘法(除法除法):向量中的每个元素:向量中的每个元素与数的乘法与数的乘法(除法除法)运运算。算。n n vec1=80:-9:10 vec1=80:-9:10n nvec1=vec1=n n 80 71 62 53 44 80 71 62 53 44 35 26 1735 26 17n n vec1+101 vec1+101n nansans=n n 181 172 163 154 145 181 172 163 154 145 136 127 118136 127 118n n(4)向量与向量之间的加减运算 n n向量与向量的加法向量与向量的加法(减法减法)运算:向量中的每个元运算:向量中的每个元素与另一个向量中相对应的元素的加法素与另一个向量中相对应的元素的加法(减法减法)运运算。算。n n vec1=linspace(200,500,7)vec1=linspace(200,500,7)n n vec2=linspace(900,600,7)vec2=linspace(900,600,7)n n vec3=vec1+vec2 vec3=vec1+vec2n nvec3=vec3=n n Columns 1 through 5 Columns 1 through 5 n n 1100 1100 11001100 11001100 11001100 11001100n n Columns 6 through 7 Columns 6 through 7 n n 1100 1100 11001100n n(5)点积、叉积和混合积 n n两个向量的点积等于其中一个向量的模与另一个两个向量的点积等于其中一个向量的模与另一个向量在这个向量的方向上的投影的乘积向量在这个向量的方向上的投影的乘积 n n叉积的几何意义是指过两个相交向量的交点,并叉积的几何意义是指过两个相交向量的交点,并与此两向量所在平面垂直的向量与此两向量所在平面垂直的向量 n n向量的混合积的几何意义是它的绝对值表示以向向量的混合积的几何意义是它的绝对值表示以向量为棱的平行六面体的体积量为棱的平行六面体的体积 点积、叉积运算举例n n点积点积 运算运算n n x1=11 22 33 44 x1=11 22 33 44n n x2=1,2,3,4 x2=1,2,3,4n n a=dot(x1,x2)a=dot(x1,x2)n na=a=n n 330 330n n sum(x1.*x2)sum(x1.*x2)n nansans=n n 330 330n nn n叉积运算叉积运算n n x1=11 22 33 x1=11 22 33n nx1=x1=n n 11 22 33 11 22 33n n x2=1 2 3 x2=1 2 3n nx2=x2=n n 1 2 3 1 2 3n n x3=cross(x1,x2)x3=cross(x1,x2)n nx3=x3=n n 0 0 0 0 0 02.数组及其运算 n n数组寻址和排序 n n数组的基本数值运算 n n数组的关系运算 n n数组的逻辑运算(1)数组寻址和排序 n n通过对数组下表的访问来通过对数组下表的访问来实现数组寻址实现数组寻址 n n A=rand(1,5)A=rand(1,5)n nA=A=n n 0.9501 0.2311 0.9501 0.2311 0.6068 0.4860 0.89130.6068 0.4860 0.8913n nn n A(4)A(4)n nansans=n n 0.4860 0.4860n n A(2:3)A(2:3)n nansans=n n 0.2311 0.6068 0.2311 0.6068n n使用使用sortsort函数对数组进行函数对数组进行排序排序 n n X=3 7 5 X=3 7 5n n 0 4 2 0 4 2n n sort(X,1)sort(X,1)n nansans=n n 0 4 2 0 4 2n n 3 7 5 3 7 5n n sort(2)sort(2)n nansans=n n 2 2(2)数组的基本数值运算 n n数组的加法(减法)n n数组的乘法(除法)n n数组的乘方数值运算举例n n加减法加减法n n X=1 4 7;X=1 4 7;n n Y=2 5 8;Y=2 5 8;n n Z=X-Y Z=X-Yn nZ=Z=n n -1 -1 -1-1 -1-1n n V=X+Y V=X+Yn nV=V=n n 3 9 15 3 9 15n nn n乘方乘方n n X=1 4 7 X=1 4 7n nX=X=n n 1 4 7 1 4 7n n Y=2 5 8 Y=2 5 8n nY=Y=n n 2 5 8 2 5 8n n Z=X.Y Z=X.Yn nZ=Z=n n 1 1024 1 1024 57648015764801(3)数组的关系运算 n n两个数通常可以用两个数通常可以用6 6种关系来进行描述:小于种关系来进行描述:小于()()、小于等于小于等于(=)()()、大于等于、大于等于(=)(=)、等于、等于(=)(=)和不等于和不等于(=)(=)n n比较两个元素的大小时,如果结果为比较两个元素的大小时,如果结果为1 1,则表明关,则表明关系式为真;如果结果为系式为真;如果结果为0 0,则表明关系式为假。例,则表明关系式为假。例如关系式如关系式4+3=6(4+3 P=3 5 0 1 0 12 P=3 5 0 1 0 12n nP=P=n n 3 5 0 1 0 3 5 0 1 0 1212n n y=poly2sym(P)y=poly2sym(P)n ny=y=n n3*x5+5*x4+x2+13*x5+5*x4+x2+12 2n n disp(ydisp(y)n n3*x5+5*x4+x2+13*x5+5*x4+x2+12 2n n特征多项式输入法n nMATLAB 7MATLAB 7提供了提供了polypoly函数,使用它函数,使用它可以由矩阵的特征可以由矩阵的特征多项式创建多项式。多项式创建多项式。使用该方法生成多使用该方法生成多项式时,其首项的项式时,其首项的系数必为系数必为1 1。n n A=3 1 4 1;5 9 2 6;5 A=3 1 4 1;5 9 2 6;5 3 5 8;9 7 9 33 5 8;9 7 9 3n nA=A=n n 3 1 4 1 3 1 4 1n n 5 9 2 6 5 9 2 6n n 5 3 5 8 5 3 5 8n n 9 7 9 3 9 7 9 3n n p=p=poly(Apoly(A);n n disp(poly2sym(p)disp(poly2sym(p)n nx4-20*x3-x4-20*x3-16*x2+480*x+1724034216*x2+480*x+1724034232352773/175921860444132352773/17592186044416 6 由多项式的根逆推多项式 n n如果已知某个多项式的如果已知某个多项式的根,那么,使用根,那么,使用polypoly函函数,可以很轻松地产生数,可以很轻松地产生其对应的多项式。其对应的多项式。n n roots=-4-2+2i-2-2i roots=-4-2+2i-2-2i 55n nroots=roots=n n -4.0000 -2.0000 -4.0000 -2.0000+2.0000i -2.0000-+2.0000i -2.0000-2.0000i 5.0000 2.0000i 5.0000 n n p=p=poly(rootspoly(roots)n np=p=n n 1 3 -16 -88 -160 1 3 -16 -88 -160n n disp(poly2sym(p)disp(poly2sym(p)n nx4+3*x3-16*x2-x4+3*x3-16*x2-88*x-16088*x-160n n(2)多项式的运算 n n多项式的求值 n n求多项式的根 n n多项式的四则运算 多项式的求值n nMATLAB 7MATLAB 7提供了两个函提供了两个函数来对多项式进行求值,数来对多项式进行求值,即即polyvalpolyval和和polyvalmpolyvalm。前者以数组为计算单位,前者以数组为计算单位,后者以矩阵为计算单位。后者以矩阵为计算单位。n n p=1.0000 -p=1.0000 -20.0000 -16.0000 20.0000 -16.0000 480.0000 98.0000480.0000 98.0000n np=p=n n 1 -20 -16 480 1 -20 -16 480 9898n n x=4 x=4n nx=x=n n 4 4n n polyval(p,xpolyval(p,x)ansans=n n 738 738求多项式的根n n在在MATLAB 7MATLAB 7语言里,语言里,多项式由一个行向量多项式由一个行向量表示,设为表示,设为p p,它的系,它的系数按降序排列,使用数按降序排列,使用rootsroots函数可以求出该函数可以求出该多项式的根。其使用多项式的根。其使用格式为格式为roots(proots(p)。n n p=1 0 3 12-7 p=1 0 3 12-7n np=p=n n 1 0 3 12 -1 0 3 12 -7 7n n roots(proots(p)n nansans=n n 0.7876+2.4351i 0.7876+2.4351in n 0.7876-2.4351i 0.7876-2.4351in n -2.0872 -2.0872 n n 0.5121 0.5121 n n多项式的四则运算n n 加法和减法加法和减法 n n如果两个多项式的向如果两个多项式的向量阶数相同,标准的量阶数相同,标准的数组加法有效。当两数组加法有效。当两个多项式的向量阶数个多项式的向量阶数不同时,需要在低阶不同时,需要在低阶多项式的前边补多项式的前边补0 0,使,使得它与相加的高阶多得它与相加的高阶多项式有相同的阶数。项式有相同的阶数。n n a=8 2 2 8,b=6 1 6 a=8 2 2 8,b=6 1 6 11n na=a=n n 8 2 2 8 8 2 2 8n nb=b=n n 6 1 6 1 6 1 6 1n n c=c=a+ba+bn nc=c=n n 14 3 8 9 14 3 8 9n n Y3=poly2sym(c)Y3=poly2sym(c)n nY3=Y3=n n14*x3+3*x2+8*x+914*x3+3*x2+8*x+9多项式的四则运算n n乘法乘法 n n使用使用convconv函数对多函数对多项式进行乘法运算。项式进行乘法运算。格式为格式为c=c=conv(a,bconv(a,b),其中,其中a a和和b b为两个为两个多项式的系数向量,多项式的系数向量,c c为相乘所生成的多为相乘所生成的多项式的系数向量。项式的系数向量。n n a=1 2 3 4,b=5 6 a=1 2 3 4,b=5 6 7 8;7 8;n n Y1=poly2sym(a)Y1=poly2sym(a)n nY1=Y1=n nx3+2*x2+3*x+4x3+2*x2+3*x+4n n Y2=poly2sym(b)Y2=poly2sym(b)n nY2=Y2=n n5*x3+6*x2+7*x+85*x3+6*x2+7*x+8n n c=c=conv(a,bconv(a,b););n n Y=poly2sym(c)Y=poly2sym(c)n nY=Y=n n5*x6+16*x5+34*x5*x6+16*x5+34*x4+60*x3+61*x2+4+60*x3+61*x2+52*x+3252*x+32多项式的四则运算n n除法除法 n n在数值计算中,经在数值计算中,经常需要用一个多项常需要用一个多项式去除另