MATLAB语言及其应用授课教师:张金辉ApplicationofMatlabLanguage版本发布时间版本发布时间版本发布时间版本发布时间MATLAB1.01984MATLAB5.2.11998MATLAB7.0.42005MATLAB7.102010.3.5MATLAB21986MATLAB5.31999MATLAB7.12005MATLAB7.112010.9.3MATLAB31987MATLAB5.3.11999MATLAB7.22006MATLAB7.122011.4.8MATLAB3.51990MATLAB6.02000MATLAB7.32006MATLAB7.132011.9.1MATLAB41992MATLAB6.12001MATLAB7.42007MATLAB7.142012.3.1MATLAB4.2c1994MATLAB6.52002MATLAB7.52007MATLAB8.02012.9.11MATLAB5.01996MATLAB6.5.12003MATLAB7.62008MATLAB8.12013.3.7MATLAB5.11997MATLAB6.5.22003MATLAB7.72008MATLAB8.22013.9.9MATLAB5.1.11997MATLAB72004MATLAB7.82009.3.6MATLAB8.32014.3.6MATLAB5.21998MATLAB7.0.12004MATLAB7.92009.9.4MATLAB8.4MATLAB8.52014.10.42015、2016a1Matlab版本的发展2020/4/23ApplicationofMatlabLanguage22.1启动与退出MATLAB启动MATLAB直接用鼠标双击桌面上MATLAB7.1图标或Windows桌面的“开始”—〉“所有程序”—〉“MATLAB7.1”—〉“MATLAB7.1”。退出MATLAB关闭MATLAB桌面在命令窗口执行quit或exit命令MATLAB缺省桌面(见下页)2020/4/23ApplicationofMatlabLanguage3菜单栏工具栏文件编辑窗口工作空间历史命令窗口Start菜单命令窗口命令提示符2.1启动与退出MATLAB(续)2020/4/23ApplicationofMatlabLanguage42.2命令窗口的使用激活命令窗口。“”与闪烁的光标一起表明系统就绪,等待输入。命令窗口脱离MATLAB桌面。简单计算【例2.2-1】计算(1)在MATLAB命令窗口输入以下内容:(12+2*(7-4))/3^2(2)按【Enter】键,指令执行。(3)返回的计算结果:ans=221227432020/4/23ApplicationofMatlabLanguage52.2命令窗口(续)〖说明〗在命令窗口【Enter】键提交命令执行。Matlab所用运算符(如+、-、^等)是各种计算程序中常见的。计算结果中的“ans”是英文“answer”的一种缩写,其含义就是“运算答案”。ans是Matlab的一个预定义变量。2020/4/23ApplicationofMatlabLanguage62.2命令窗口(续)简单计算(续)【例2.2-2】计算sin(45ْ)sin(45*pi/180)Matalb中正弦函数sin就是常见的正弦函数。它的参数值是以“弧度”为单位的。pi也是Matalb的预定义变量。pi=3.14159…Matlab对字母大小写是敏感的。【例2.2-3】计算的值,其中x=4.92。0.521xesqrt(2*exp(4.92+0.5)+1)Matalb中开平方—sqrt(x),是英文squareroot的缩写。Matalb中指数函数exp(x),常见的表达方式。ans=0.7071ans=21.27812020/4/23ApplicationofMatlabLanguage72.2命令窗口(续)“clc”清除窗口显示内容的命令。【例2.2-4】计算的值。2sin0.315yy=2*sin(0.3*pi)/(1+sqrt(5))y=0.5000【例2.2-5】计算的值。2cos0.315yy=2*cos(0.3*pi)/(1+sqrt(5))y=0.3633命令行编辑“↑”键调回已输入过命令。修改。2020/4/23ApplicationofMatlabLanguage82.2命令窗口(续)【例2.2-5】计算半径为5.2m的圆的周长和面积。radius=5.2;%圆的半径area=pi*5.2^2,circle_len=2*pi*5.2area=84.9487circle_len=32.6726以上两例,命令行中用到了等号“=”。计算结果不再赋给“ans”,而是赋给用户指定的变量y、area、circle_len。无论是预定义变量还是用户自定义变量都被存储在系统的工作空间内,即系统定义的一个存储窗口变量的内存空间。Who、whos命令用来显示工作空间的变量clear命令用来清除工作空间的变量。2020/4/23ApplicationofMatlabLanguage92.3当前目录窗口和搜索路径当前目录窗口:指Matlab运行时的工作目录。只有在当前目录和搜索路径下的文件、函数才可以被运行和调用。如果没有特殊指明,数据文件也将存放在当前目录下;用户可以将自己的工作目录设置成当前目录,从而使得所有操作都在当前目录中进行。2020/4/23ApplicationofMatlabLanguage10搜索路径:指Matlab执行过程中对变量、函数和文件进行搜索的路径。在File菜单中选择SetPath命令或在命令窗口输入pathtool命令,出现搜索路径设置对话框:!修改完搜索路径后,需要进行保存。2020/4/23ApplicationofMatlabLanguage112.4获取在线帮助MATLAB提供的帮助信息有两类简单纯文本帮助信息helplookfor(条件比较宽松)例:inverse窗口式综合帮助信息(文字、公式、图形)dochelpwin2020/4/23ApplicationofMatlabLanguage12Matlab数据及其运算Matlab数据类型非常丰富,除数值型、字符型等基本数据类型外,还有结构体、单元等更为复杂的数据类型。各种数据类型都以矩阵形式存在,矩阵是Matlab最基本的数据对象,并且矩阵的运算是定义在复数域上的。3.1数值表示、变量及表达式数值的记述Matlab的数只采用习惯的十进制表示,可以带小数点和负号;其缺省的数据类型为双精度浮点型(double)。例如:3-100.0011.3e101.256e-6变量命令规则变量名、函数名对字母的大小写是敏感的。如myVar与myvar表示两个不同的变量。变量名第一个字母必须是英文字母。变量名可以包含英文字母、下划线和数字。变量名不能包含空格、标点。变量名最多可包含63个字符(6.5及以后的版本)。2020/4/23ApplicationofMatlabLanguage143.1数值表示、变量及表达式(续)Matlab预定义的变量变量名意义ans最近的计算结果的变量名epsMATLAB定义的正的极小值=2.2204e-16pi圆周率πinf∞值,无限大i或j虚数单元,sqrt(-1)NaN非数,0/0、∞/∞〖说明〗每当MATLAB启动完成,这些变量就被产生。MATLAB中,被0除不会引起程序中断,给出报警的同时用inf或NaN给出结果。用户只能临时覆盖这些预定义变量的值,Clear或重启MATLAB可恢复其值。2020/4/23ApplicationofMatlabLanguage153.1数值表示、变量及表达式(续)运算符和表达式运算数学表达式MATLAB运算符MATLAB表达式加a+b+a+b减a-b-a-b乘axb*a*b除a/b或a\b/或\a/b或a\b幂^a^bba〖说明〗Matlab用“\”和”/”分别表示“左除”和“右除”。对标量而言,两者没有区别。对矩阵产生不同影响。MATLAB表达式的书写规则与“手写方式”几乎完全相同。表达式按与常规相同的优先级自左至右执行运算。优先级:指数运算级别最高,乘除次之,加减最低。括号改变运算的次序。2020/4/23ApplicationofMatlabLanguage163.2Matlab矩阵(数组)的表示数组的概念一维数组变量的创建二维数组变量的创建数组元素的标识与寻访数组运算多维数组2020/4/23ApplicationofMatlabLanguage17数组的分类一维数组,也称为向量(vector)。行向量(rowvector)、列向量(columnvector)。二维数组(矩阵matrix)。多维数组。3.2.1.数组(array)的概念2020/4/23ApplicationofMatlabLanguage183.2.1、数组(array)的概念(续)行向量列向量a(2,1)=3a(1,2)=2b(3)=3c(2)=22020/4/23ApplicationofMatlabLanguage193.2.2、创建一维数组变量第一种方法:使用方括号“[]”操作符【例2-1】创建数组(行向量)a=[13pi3+5i]a=[13pi3+5*i]%ora=[1,3,pi,3+5*i]a=1.00003.00003.14163.0000+5.0000i所有的向量元素必须在操作符“[]”之内;向量元素间用空格或英文的逗点“,”分开。第二种方法:使用冒号“:”操作符【例2-2】创建以1~10顺序排列整数为元素的行向量b。b=1:10b=123456789102020/4/23ApplicationofMatlabLanguage203.2.2、创建一维数组变量(续)【例2-3】键入并执行c=1:2:10和d=1:2:9c=1:2:10c=13579d=1:2:9d=13579利用冒号“:”操作符创建行向量的基本语法格式:x=Start:Increment:EndStart表示新向量x的第一个元素;新向量x的最后一个元素不能大于End;Increment可正可负,若负,则必须StartEnd;若正,则必须StartEnd,否则创建的为空向量。若Increment=1,则可简写为:x=Start:End。2020/4/23ApplicationofMatlabLanguage213.2.2、创建一维数组变量(续)第三种方法:利用函数linspace函数linspace的基本语法x=linspace(x1,x2,n)该函数生成一个由n个元素组成的行向量;x1为其第一个元素;x2为其最后一个元素;x1、x2之间元素的间隔=(x2-x1)/(n-1)。如果忽略参数n,则系统默认生成100个元素的行向量。【例2-4】键入并执行x=linspace(1,2,5)x=1.00001.25001.50001.75002.0000同学们可以在实验时察看x=linspace(1,2)执行结果。2020/4/23ApplicationofMatlabLanguage223.2.3、创建二维数组变量第一种方法:使用方括号“[]”操作符使用规则数组元素必须在“[]”内键入;行与行之间须用分号“;”间隔,也可以在分行处用回车键间隔;行内元素用空格或逗号“,”间隔。【例3-1】键入并执行a2=[123;456;789]a2=123456789【例3-2】键入并执行a2=[1:3;4:6;7:9]%结果同上2020/4/23ApplicationofMatlabLanguage233.3、数组元素的标识与