




已阅读5页,还剩83页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机仿真,参考教材:,MATLAB程序设计与应用肖伟等清华大学出版社自动控制系统计算机仿真张晓江等机械工业出版社控制系统设计与仿真李宜达清华大学出版社MATLAB语言与控制系统仿真孙亮主编,北京工业大学出版社MATLAB语言即学即会陆宁编著机械工业出版社基于MATLAB的控制系统计算机仿真翟亮主编清华大学出版社北方交通大学出版社,关于考试,上机占30%上机表现和实验报告(包括预习报告)各占上机成绩的50%考试占70%,二、主要功能1.数值计算功能MATLAB以矩阵作为数据操作的基本单位,还提供了十分丰富的数值计算函数。2.符号计算功能MATLAB和著名的符号计算语言Maple相结合,使得MATLAB具有符号计算功能。3.数据分析和可视化功能(绘图功能)4.SIMULINK动态仿真功能SIMULINK是MATLAB为模拟动态系统而提供的一个交互式程序。允许用户在屏幕上绘制框图来模拟一个系统,并动态地控制该系统。,第一章MATLAB概述,一、Matlab简介,三、初识MATLAB,例1-1绘制正弦曲线和余弦曲线。x=0:0.5:360*pi/180;plot(x,sin(x),x,cos(x)例1-2求方程3x4+7x3+9x2-23=0的全部根。p=3,7,9,0,-23;%建立多项式系数向量x=roots(p)%求根例1-3求积分quad(x.*log(1+x),0,1)例1-4求解线性方程组。a=2,-3,1;8,3,2;45,1,-9;b=4;2;17;x=inv(a)*b,四、MATLAB的操作界面,I命令窗口(CommandWindow)II工作空间窗口(Workspace)III命令历史窗口(CommandHistory)IV当前目录窗口(CurrentDirectory)V启动平台窗口(LaunchPad)文本编辑窗口图形窗口文件管理窗口演示窗口,IMATLAB命令窗口1菜单栏在MATLAB6.5主窗口的菜单栏,共包含File、Edit、View、Web、Window和Help6个菜单项。(1)File菜单项:File菜单项实现有关文件的操作。(2)Edit菜单项:Edit菜单项用于命令窗口的编辑操作。(3)View菜单项:View菜单项用于设置MATLAB集成环境的显示方式。(4)Web菜单项:Web菜单项用于设置MATLAB的Web操作。(5)Window菜单项:主窗口菜单栏上的Window菜单,只包含一个子菜单Closeall,用于关闭所有打开的编辑器窗口,包括M-file、Figure、Model和GUI窗口。(6)Help菜单项:Help菜单项用于提供帮助信息。,2工具栏MATLAB6.5主窗口的工具栏共提供了10个命令按钮。这些命令按钮均有对应的菜单命令,但比菜单命令使用起来更快捷、方便。3.命令编辑区命令窗口是MATLAB的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果。MATLAB命令窗口中的“”为命令提示符,表示MATLAB正在处于准备状态。在命令提示符后键入命令并按下回车键后,MATLAB就会解释执行所输入的命令,并在命令后面给出计算结果。,一般来说,一个命令行输入一条命令,命令行以回车键结束。但一个命令行也可以输入若干条命令,各命令之间以逗号或分号分隔。例如a=5,b=6a=5;b=6显示结果有区别。a=1+2+3+4+5+6+.7+8+9+10,II工作空间窗口工作空间是MATLAB用于存储各种变量和结果的内存空间。在该窗口中显示工作空间中所有变量的名称、大小、字节数和变量类型说明,可对变量进行观察、编辑、保存和删除。III当前目录窗口当前目录窗口当前目录是指MATLAB运行文件时的工作目录,只有在当前目录或搜索路径下的文件、函数可以被运行或调用。在当前目录窗口中可以显示或改变当前目录,还可以显示当前目录下的文件并提供搜索功能。将用户目录设置成当前目录也可使用cd命令。例如,将用户目录c:mydir设置为当前目录,可在命令窗口输入命令:cdc:mydir,IV命令历史记录窗口在默认设置下,历史记录窗口中会自动保留自安装起所有用过的命令的历史记录,并且还标明了使用时间,从而方便用户查询。而且,通过双击命令可进行历史命令的再运行。如果要清除这些历史记录,可以选择Edit菜单中的ClearCommandHistory命令。,V启动平台窗口和Start按钮MATLAB6.5的启动平台窗口可以帮助用户方便地打开和调用MATLAB的各种程序、函数和帮助文件。MATLAB6.5主窗口左下角还有一个Start按钮,单击该按钮会弹出一个菜单,选择其中的命令可以执行MATLAB产品的各种工具,并且可以查阅MATLAB包含的各种资源。,五、MATLAB文件管理P4用户工作目录设置六、MATLAB帮助系统P51、帮助窗口打开帮助窗口可以通过以下4种方法:单击MATLAB主窗口工具栏中的Help按钮。在命令窗口中输入helpwin、helpdesk或docy以打开Help窗口。选择Help菜单中的“MATLABHelp”选项。2、帮助命令MATLAB帮助命令包括help、lookfor以及模糊查询。help命令在MATLAB6.5命令窗口中直接输入help命令将会显示当前帮助系统中所包含的所有项目,即搜索路径中所有的目录名称。同样,可以通过help加函数名来显示该函数的帮助说明。如:helpsin,lookfor命令help命令只搜索出那些关键字完全匹配的结果,lookfor命令对搜索范围内的M文件进行关键字搜索,条件比较宽松。Lookfor命令只对M文件的第一行进行关键字搜索。若在lookfor命令加上-all选项,则可对M文件进行全文搜索。模糊查询MATLAB6.0以上的版本提供了一种类似模糊查询的命令查询方法,用户只需要输入命令的前几个字母,然后按Tab键,系统就会列出所有以这几个字母开头的命令。,八、MATLAB功能演示,在帮助窗口中选择演示系统(Demos)选项卡,然后在其中选择相应的演示模块,或者在命令窗口输入Demos,或者选择主窗口Help菜单中的Demos子菜单,打开演示系统。,第2章MATLAB程序设计,2.1变量一、变量的命名命名规则在MATLAB6.5中,变量名是以字母开头,后接字母、数字或下划线的字符序列。在MATLAB中,变量名区分字母的大小写。,MATLAB除自定义和固定变量外,还有一类变量叫做全局变量。全局变量在使用前用global命令声明,且应尽量用大写字母书写全局变量。,在MATLAB中存在许多固定变量,如表2-1。固定变量,二、内存变量的管理1内存变量的显示、删除与修改MATLAB工作空间窗口专门用于内存变量的管理。在工作空间窗口中可以显示所有内存变量的属性。当选中某些变量后,再单击Delete按钮,就能删除这些变量。当选中某些变量后,再单击Open按钮,将进入变量编辑器。通过变量编辑器可以直接观察变量中的具体元素,也可修改变量中的具体元素。clear命令用于删除MATLAB工作空间中的变量。who和whos这两个命令用于显示在MATLAB工作空间中已经驻留的变量名清单。who命令只显示出驻留变量的名称,whos在给出变量名的同时,还给出它们的大小、所占字节数及数据类型等信息。,2内存变量文件利用MAT文件可以把当前MATLAB工作空间中的一些有用变量长久地保留下来,扩展名是.mat。MAT文件的生成和装入由save和load命令来完成。常用格式为:save文件名变量名表-append-asciiload文件名变量名表-ascii其中,文件名可以带路径,但不需带扩展名.mat。变量名表中的变量个数不限,只要内存或文件中存在即可,变量名之间以空格分隔。当变量名表省略时,保存或装入全部变量。-ascii选项使文件以ASCII格式处理,省略该选项时文件将以二进制格式处理。save命令中的-append选项控制将变量追加到MAT文件中。例子见书。,三、矩阵变量的建立1直接输入法最简单的建立矩阵的方法是从键盘直接输入矩阵的元素。需遵循以下规则:用中括号把所有矩阵元素括起来。同一行的不同元素之间数据元素用空格或逗号间隔。用分号(;)指定一行结束。也可分成几行输入,用回车代替分号。数据元素可是表达式,系统将自动计算。,方法1:直接输入A=1,2,3,4;5678;9101112;13141516A=12345678910111213141516注意逗号、分号和空格的用法。,方法2:利用表达式输入B=1,sqrt(25),9,132,6,10,7*23+sin(pi),7,11,154abs(-8)1216B=15913261014371115481216注意回车键的用法。,2利用M文件建立矩阵对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。下面通过一个简单例子来说明如何利用M文件创建矩阵。例2-1利用M文件建立matrix矩阵。(1)启动有关编辑程序或MATLAB文本编辑器,并输入待建矩阵;A=1,2,3,4;5678;9101112;13141516(2)把输入的内容以纯文本方式存盘(设文件名为matrix.m)。(3)在MATLAB命令窗口中输入matrix,即运行该M文件,就会自动建立一个名为matrix的矩阵,可供以后使用。,3利用冒号表达式建立一个向量(16页)冒号表达式可以产生一个行向量,一般格式是:A=J:D:K其中J为初始值,D为步长(增量),K为终止值。D省略时,增量为1。在MATLAB中,还可以用linspace函数产生行向量。其调用格式为:linspace(a,b,n)其中a和b是生成向量的第一个和最后一个元素,n是元素总数。显然,linspace(a,b,n)与a:(b-a)/(n-1):b等价。,x=0:0.1:1x=linspace(0,1,11)x=Columns1through400.10000.20000.3000Columns5through80.40000.50000.60000.7000Columns9through110.80000.90001.0000,4建立大矩阵(P12下)大矩阵可由方括号中的小矩阵或向量建立起来。,5.通过MATLAB函数产生矩阵(P11-12),常用的产生特殊矩阵的函数有:zeros:产生全0矩阵(零矩阵)。ones:产生全1矩阵(幺矩阵)。eye:产生单位矩阵。rand:产生01间均匀分布的随机矩阵。randn:产生均值为0,方差为1的标准正态分布随机矩阵。diag:获取某一矩阵的对角线元素。triu:获取某一矩阵的上三角矩阵。tril:获取某一矩阵的下三角矩阵。size:获取指定矩阵的行数和列数。diagonal(对角线)triangle(三角形),例2-2(1)建立一个33零矩阵。zeros(3)(2)建立一个32零矩阵。zeros(3,2)(3)设A为23矩阵,则可以用zeros(size(A)建立一个与矩阵A同维的零矩阵。A=123;456;%产生一个23阶矩阵Azeros(size(A)%产生一个与矩阵A同样大小的零矩阵ans=000000,四、矩阵的拆分1矩阵元素的引用通过下标引用矩阵的元素,例如A=123;456;A(2,1)ans=4采用矩阵元素的序号来引用矩阵元素。矩阵元素的序号就是相应元素在内存中的排列顺序。在MATLAB中,矩阵元素按列存储,先第一列,再第二列,依次类推。例如A=1,2,3;4,5,6;A(4)ans=5,显然,序号(Index)与下标(Subscript)是一一对应的,以mn矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*(m+i)。,2矩阵拆分(1)利用冒号表达式获得子矩阵A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。A(i:i+m,:)表示取A矩阵第ii+m行的全部元素;A(:,k:k+m)表示取A矩阵第kk+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第ii+m行内,并在第kk+m列中的所有元素。,A=1,2,3,4;5678;9101112;13141516,(2)利用空矩阵删除矩阵的元素在MATLAB中,定义为空矩阵。给变量X赋空矩阵的语句为X=。注意,X=与clearX不同,clear是将X从工作空间中删除,而空矩阵则存在于工作空间中,只是维数为0。利用空矩阵删除矩阵的行或列:A=magic(5)A(:,4)=,A=172411523571646132210121931118259,A=17241815235714164613202210121921311182529,五、用于专门学科的特殊矩阵(P11)(1)魔方矩阵魔方矩阵有一个有趣的性质,其每行、每列及两条对角线上的元素和都相等。对于n阶魔方阵,其元素由互异的n2个整数组成。MATLAB提供了求魔方矩阵的函数magic(n),其功能是生成一个n阶魔方阵。例2-4将101125等25个数填入一个5行5列的表格中,使其每行每列及对角线的和均为565。M=100+magic(5)M=117124101108115123105107114116104106113120122110112119121103111118125102109,(2)范得蒙矩阵范得蒙(Vandermonde)矩阵最后一列全为1,倒数第二列为一个指定的向量,倒数第i列为倒数第二列的(i-1)次方。可以用一个指定向量生成一个范得蒙矩阵。在MATLAB中,函数vander(V)生成以向量V为基础向量的范得蒙矩阵。A=vander(1;2;3;5)A=11118421279311252551,(5)伴随矩阵MATLAB生成伴随矩阵的函数是compan(p),其中p是一个多项式的系数向量,高次幂系数排在前,低次幂排在后。例如,为了求多项式的x3-7x+6的伴随矩阵,可使用命令:p=1,0,-7,6;compan(p)ans=07-6100010,2.2MATLAB运算一、算术运算MATLAB对矩阵的运算类似于线性代数。1基本算术运算MATLAB的基本算术运算有:(加)、(减)、*(乘)、/(右除)、(左除)、(乘方)。注意,运算是在矩阵意义下进行的,单个数据的算术运算只是一种特例。矩阵加减运算运算符对应元素的加减适用于两矩阵同阶或其一是标量的情况。如果A与B的维数不相同,则MATLAB将给出错误信息,提示用户两个矩阵的维数不匹配,矩阵除法运算符左除/右除若A矩阵是非奇异方阵,则AB和B/A运算均可以实现,且左除和右除一般不同,这是因为:AB=inv(A)*BB/A=B*inv(A)其中inv函数用来求某一个矩阵的逆阵。,例:矩阵A和B同上例,试求CAB和DA3。C=A*BC=298583526341496304202265113,矩阵乘法运算符适用于前一矩阵的列数和后一矩阵行数相同或者其一为标量的情况。,D=A*3D=6361221395732451,例:已知矩阵A和B,计算CAB,DAB和EA3。,A=21,2,4;7,13,19;1,8,17;B=122524;11139;681;C=A+BC=33272818262871618D=A-BD=9-23-20-4010-5016,E=A+3E=245710162241120,例:已知矩阵A和B,试计算AB和A/B。ABans=0.50811.11681.14290.3216-0.61860.28570.17170.6960-0.1429A/Bans=-1.83365.6985-3.28010.55350.7891-1.38710.74960.0478-1.4201,矩阵的乘方运算符:一个矩阵的乘方运算可以表示成Ax,要求A为方阵,x为标量。例:已知A是一方阵,P是一个正整数,则AP表示A自乘P次。A=1234;5678;9101112;13141516;A2ans=90100110120202228254280314356398440426484542600,矩阵的点运算为实现与矩阵相关的标量运算而设计的。运算符:.与矩阵的常规运算不同,是针对于矩阵中的元素定义的。分类:点乘.点乘方.点除./,例:已知矩阵A和B,试求AB,A.B和A.3.A=12;34;B=56;78;A=1234B=5678C=A*BC=19224350,D=A.*BD=5122132E=A.3E=182764,二、关系运算MATLAB提供了6种关系运算符:=(大于或于)、(大于)、=(等于)、=(不等于)。它们的含义不难理解,但要注意其书写方法与数学中的不等式符号不尽相同。,关系运算符的运算法则为:(1)当两个比较量是标量时,直接比较两数的大小。若关系成立,关系表达式结果为1,否则为0。(2)当参与比较的量是两个维数相同的矩阵时,比较是对两矩阵相同位置的元素按标量关系运算规则逐个进行,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成。,(3)当参与比较的一个是标量,而另一个是矩阵时,则把标量与矩阵的每一个元素按标量关系运算规则逐个比较,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成。,例2-9建立矩阵A,然后找出大于4的元素的位置。(1)建立矩阵A。A=4,-65,-54,0,6;56,0,67,-45,0(2)找出大于4的元素的位置。find(A4),A=4-65-540656067-450find(A4)ans=269,A=12;34,B=56;78A=1234B=5678,ABans=0000AP=5=AP=1111,三、逻辑运算MATLAB提供了3种逻辑运算符:34,B=56;78A=1034B=5678,Ay=input(Inputyplease.);z=x;x=y;y=z;disp(x)disp(y)【xy】,例求一元二次方程ax2+bx+c=0的根。a=input(a=?);b=input(b=?);c=input(c=?);d=b*b-4*a*c;x=(-b+sqrt(d)/(2*a),(-b-sqrt(d)/(2*a);disp(x1=,num2str(x(1),x2=,num2str(x(2),3、pause函数程序运行时,暂停程序的执行,查看中间结果。调用格式:pause(暂停秒数)若直接使用pause不带括号,暂停程序的运行,直到按任意键后程序继续运行。强行终止程序的运行,可用Ctrl+C命令。,2.3.3程序控制结构Matlab提供了常用控制结构:分支结构、循环结构。,一、选择结构1if语句在MATLAB中,if语句有3种格式。(1)单分支if语句:if条件语句组end当条件成立时,则执行语句组,执行完之后继续执行if语句的后继语句,若条件不成立,则直接执行if语句的后继语句。,(2)双分支if语句:if条件语句组1else语句组2end当条件成立时,执行语句组1,否则执行语句组2,语句组1或语句组2执行后,再执行if语句的后继语句。,例计算分段函数的值。x=input(请输入x的值:);ifx*Innermatrixdimensionsmustagree.,二、循环结构,1for语句for语句的格式为:for循环变量=表达式1:表达式2:表达式3循环体语句end其中表达式1的值为循环变量的初值,表达式2的值为步长,表达式3的值为循环变量的终值。步长为1时,表达式2可以省略。求100以内的偶数和。,for循环变量=矩阵循环体语句end执行过程是依次将矩阵的各列元素赋给循环变量,然后执行循环体语句,直至各列元素处理完毕。例写出下列程序的执行结果。s=0;a=12,13,14;15,16,17;18,19,20;21,22,23;fork=as=s+k;senddisp(s);,s=12151821s=25313743s=3948576639485766,a=121314151617181920212223,例一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出全部水仙花数。程序如下:form=100:999m1=fix(m/100);%求m的百位数字m2=rem(fix(m/10),10);%求m的十位数字m3=rem(m,10);%求m的个位数字ifm=m13+m23+m33disp(m)endend,2while语句一般格式为:while条件循环体语句end其执行过程为:若条件成立,则执行循环体语句,执行后再判断条件是否成立,如果成立则继续执行语句组,否则跳出循环。28页:求100以内的偶数和。,break语句和continue语句P28它们一般与if语句配合使用。break语句用于终止循环的执行。当在循环体内执行到该语句时,程序将跳出循环,继续执行循环语句的下一语句。continue语句控制跳过循环体中的某些语句。当在循环体内执行到该语句时,程序将跳过循环体中所有剩下的语句,继续下一次循环。,例求100,200之间第一个能被21整除的整数。程序如下:forn=100:200ifrem(n,21)=0continueendbreakendn,当在循环体内执行到该语句时,程序将跳过循环体中所有剩下的语句,继续下一次循环。,当在循环体内执行到该语句时,程序将跳出循环,继续执行循环语句的下一语句。,2.3.5函数文件是另一种形式的M文件,建立函数文件的基本结构:function输出形参表函数名(输入形参表)注释说明部分函数体语句function开头的一行为引导行,表示该文件是一个函数文件。函数名的命名规则与变量名的命名规则相同。当输出形参多于一个用括起来,以矩阵的形式表示。,函数调用时,各实参出现的顺序和个数与函数定义时形参的顺序和个数一致,否则会出错。函数调用时,先将输入实参传递给相应的输入形参,经函数体语句运算后,其结果再由输出形参传递给输出实参。,求s=1!+2!+.+n!(1)建立n!的函数文件,以jch.m存盘functionf=jch(n)f=1;fori=2:nf=f*i;end(2)建立求s=jch(1)+jch(2)+jc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人协议用工范文
- 脑梗塞康复护理健康教育
- 2025年事业单位工勤技能-湖南-湖南地质勘查员三级(高级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖北-湖北行政岗位工四级(中级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-湖北-湖北检验员四级(中级工)历年参考题库典型考点含答案解析
- 2025年医药电商平台医药电商保险与合规监管报告
- 2025年事业单位工勤技能-湖北-湖北护理员五级(初级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-湖北-湖北地图绘制员五级(初级工)历年参考题库典型考点含答案解析
- 2025-2030中国素颜霜市场需求状况及销售模式预测分析报告
- 2025年事业单位工勤技能-浙江-浙江药剂员一级(高级技师)历年参考题库含答案解析(5套)
- 应聘个人简历标准版范文
- 2025年中国智慧养殖行业市场占有率及投资前景预测分析报告
- 全面深化信息安全培训提高医护人员的保护意识与能力水平
- 2025-2030中国工业CT行业市场运行分析及发展趋势与投资研究报告
- 废气处理合同协议
- 肿瘤科实习生护理小讲课
- 劳动教育校本课程研究(8篇)
- 2025-2030中国余热回收行业市场现状供需分析及投资评估规划分析研究报告
- 2025小红书商业影像婚美行业峰会
- GB/T 45304-2025干欧芹
- 高考改革生物培训
评论
0/150
提交评论