科学计算与MATLAB语言教学内容第1讲介绍MATLAB概述与运算基础第2讲介绍MATLAB程序设计第3讲MATLAB文件操作第4讲绘图形功能第5讲线形代数中的数值计算问题第6讲数据处理方法与多项式第7讲MATLAB符号计算第8讲MATLAB的图形用户界面设计第一讲MATLAB概述与运算基础MATLAB语言是一种广泛应用于工程计算及数值分析领域的新型高级语言,自1984年由美国MathWorks公司推向市场以来,历经十多年的发展与竞争,现已成为国际公认的最优秀的工程应用开发环境。MATLAB功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。在欧美各高等院校,MATLAB已经成为线性代数、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等课程的基本教学工具,成为大学生、硕士生以及博士生必须掌握的基本技能。MATLAB:是英文MATrixLABorotory(矩阵实验室)的缩写。一.MATLAB特点:一.MATLAB特点:1.数值计算和符号计算功能MATLAB的数值计算功能包括:矩阵运算、多项式和有理分式运算、数据统计分析、数值积分、优化处理等。符号计算将得到问题的解析解。2.MATLAB语言MATLAB除了命令行的交互式操作以外,还可以程序方式工作。使用MATLAB可以很容易地实现C或FORTRAN语言的几乎全部功能,包括Windows图形用户界面的设计。3.图形功能MATLAB提供了两个层次的图形命令:一种是对图形句柄进行的低级图形命令,另一种是建立在低级图形命令之上的高级图形命令。利用MATLAB的高级图形命令可以轻而易举地绘制二维、三维乃至四维图形,并可进行图形和坐标的标识、视角和光照设计、色彩精细控制等等。4.应用工具箱基本部分和各种可选的工具箱。基本部分中有数百个内部函数。其工具箱分为两大类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能、可视建模仿真功能及文字处理功能等。学科性工具箱专业性比较强,如控制系统工具箱、信号处理工具箱、神经网络工具箱、最优化工具箱、金融工具箱等,用户可以直接利用这些工具箱进行相关领域的科学研究。一.MATLAB特点:二.MATLAB运行环境二.MATLAB运行环境硬件:一般要求486以上的处理器、16MB以上内存、足够的的硬盘可用空间(随安装组件的多少而定)、CD-ROM驱动器、鼠标等。软件:Windows9x三.MATLAB集成环境三.MATLAB集成环境MATLAB5.X是一个高度集成的语言环境,在该环境下既可以进行交互式的操作,又可以编写程序、运行程序并跟踪调试程序。1.MATLAB的启动与一般的Windows95程序一样,启动MATLAB有两种常见方法:(1)通过“开始”按钮,选择“程序”菜单项,然后打开“MATLAB”菜单中的“MATLAB”程序,就可启动MATLAB系统(2)利用Windows95建立快捷方式的功能,将MATLAB程序以快捷方式放在桌面上。只要在桌面上双击该图标即可启动MATLAB2.MATLAB命令窗口(1)命令窗口的菜单栏菜单栏共包含File、Edit、Window和Help四项。File菜单项:New命令:用于建立M文件、图形窗口。Open命令:打开一个已经建立的M文件。RunScript命令:执行一个命令文件。LoadWorkspace命令:将变量装入当前空间。SaveWorkspaceAs命令:把当前工作空间的所有变量用后缀为.mat的文件保存起来。三.MATLAB集成环境File菜单项:ShowWorkspace命令:打开变量浏览器。SetPath命令:打开MATLAB的路径浏览器。Preferences命令:打开命令窗口的显示格式。PrintSetup命令:设置打印机的参数。Print命令:打印和设置一些打印参数。PrintSelection命令:打印选中的内容。ExitMATLAB命令:退出MATLAB系统。三.MATLAB集成环境2.MATLAB命令窗口Edit菜单项:Undo、Cut、Copy和Paste等命令:分别用于撤销上一次操作、剪切、复制和粘贴。Clear命令:删除内容。SelectAll命令:用于选定所有文本内容。ClearSession命令:清除命令编辑区的全部内容,但并不删除工作空间中的变量。三.MATLAB集成环境2.MATLAB命令窗口Help菜单项:HelpWindow命令:打开MATLAB的帮助窗口。HelpTips命令:打开帮助窗口,并首先显示MATLAB的帮助系统的分类和使用方法。HelpDesk(HTML)命令:打开系统浏览器,并显示MATLAB的帮助桌面。ExamplesandDemos命令:可以通过演示MATLAB提供的例子来熟悉相关部分的用法。AboutMATLAB命令:打开关于MATLAB的版本和版权等信息。Subsribe命令:打开机器上的浏览器,用户可过填写相关的表格来获得MathWorks公司的产品。三.MATLAB集成环境2.MATLAB命令窗口Window菜单项:利用Window菜单项可以查看目前MATLAB打开的所有窗口,并可选中某个窗口为当前窗口,从而实现在不同窗口之间的转换。三.MATLAB集成环境2.MATLAB命令窗口(2)命令窗口的工具栏工具栏提供了一些命令按钮,使用命令按钮可使操作更快捷、更方便。工作空间新建剪切粘贴浏览器新仿真模型打开复制撤消路径浏览器帮助三.MATLAB集成环境2.MATLAB命令窗口(3)命令窗口的命令编辑区命令编辑区用于输入命令和显示计算结果。键入命令并按下回车键后,MATLAB就会解释执行所输入的命令,并在命令后面给出计算结果。例如:在MATLAB命令窗口输入命令:a=[1,1.5,2,9,7;0,3.6,0.5,-4,4;7,10,-3,22,33;3,7,8.5,21,6;3,8,0,90,-20]将显示一个5*5矩阵。三.MATLAB集成环境2.MATLAB命令窗口(4)MATLAB帮助系统MATLAB5.X里有以下几种方法可获得帮助:帮助命令、帮助窗口、MATLAB帮助桌面或在线帮助页。对于Internet用户,还可直接链接到MathWorks公司的网页上()寻求帮助。三.MATLAB集成环境2.MATLAB命令窗口3.MATLAB的退出要退出MATLAB系统,有三种方法:(1)单击MATLAB命令窗口的“关闭”按钮。(2)在命令窗口File菜单中选ExitMATLAB命令。(3)在MATLAB命令窗口输入Exit和Quit命令。在MATLAB中,变量名是以字母开头,后接字母、数字或下划线的字符序列,最多19个字符,且区分字母的大小写。MATLAB提供的标准函数名必须用小写字母。三.MATLAB集成环境四.MATLAB运算量1.变量和赋值语句MATLAB赋值语句有两种形式:(1)变量=表达式(2)表达式其中“表达式”是用运算符将有关运算量连接起来的式子,其结果是一个矩阵。[注]第二种语句形式下,将表达式的值赋给MATLAB的永久变量ans。如果在语句的最后加分号,那么,MATLAB仅仅执行赋值操作,不再显示运算的结果。在一条语句中,如果表达式太复杂,一行写不下,可以加上三个小黑点(续行符)并按下回车键,然后接下去再写。例如s=1-1/2+1/3-1/4+1/5-1/6+1/7-…-1/8+1/9-1/10+1/11-1/12;四.MATLAB运算量2.MATLAB表达式算术表达式。运算符有:+(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘方)对于矩阵来说,左除和右除表示两种不同的除数矩阵和被除数矩阵的关系。关系表达式。运算符有:(小于)、=(小于或等于)、(大于)、=(大于或等于)、==(等于)、~=(不等于)逻辑表达式。运算符有:&(与)、|(或)和~(非)四.MATLAB运算量运算法则:(1)在逻辑运算中,确认非零元素为真,用1表示,零元素为假,用0表示。(2)参与逻辑运算的可以是两个标量、两个同维矩阵或参与逻辑运算的元素一个为标量,另一个为矩阵。(3)在算术、关系、逻辑运算中,算术运算优先级最高,逻辑运算优先级最低。四.MATLAB运算量2.MATLAB表达式五.矩阵运算矩阵是MATLAB最基本的数据对象,MATLAB的大部分运算或命令都是在矩阵运算的意义下执行的。在MATLAB中,不需对矩阵的维数和类型进行说明,MATLAB会根据用户所输入的内容自动进行配置。1.建立矩阵建立矩阵可以用:直接输入法、利用函数建立矩阵和利用M文件建立矩阵。直接输入法:将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。(也可以用回车键代替分号)例如,键入命令:A=[123;456;789]输出结果是:A=123456789四.MATLAB运算量利用函数建立数值矩阵:MATLAB提供了许多生成和操作矩阵的函数,可以利用它们去建立矩阵。例如:reshape函数和diag函数等。reshape函数用于建立数值矩阵。diag函数用于产生对角阵。利用M文件建立矩阵:对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。其步骤为:第一步:使用编辑程序输入文件内容。第二步:把输入的内容以纯文本方式存盘(设文件名为mymatrix.m)。第三步:在MATLAB命令窗口中输入mymatrix,就会自动建立一个名为AM的矩阵,可供以后显示和调用。四.MATLAB运算量1.建立矩阵利用M文件建立矩阵:对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。其步骤为:第一步:使用编辑程序输入文件内容。第二步:把输入的内容以纯文本方式存盘(设文件名为mymatrix.m)。第三步:在MATLAB命令窗口中输入mymatrix,就会自动建立一个名为AM的矩阵,可供以后显示和调用。四.MATLAB运算量1.建立矩阵2.冒号表达式在MATLAB中,冒号是一个重要的运算符。利用它可以产生向量,还可用来拆分矩阵。冒号表达式的一般格式是:e1:e2:e3其中e1为初始值,e2为步长,e3为终止值。冒号表达式可产生一个由e1开始到e3结束,以步长e2自增的行向量。四.MATLAB运算量3.MATLAB常用数学函数MATLAB提供了许多数学函数,函数的自变量规定为矩阵变量,运算法则是将函数逐项作用于矩阵的元素上,因而运算的结果是一个与自变量同维数的矩阵。例如:A=[123;456]B=fix(pi*A)C=cos(pi*B)4.矩阵的基本运算(1)矩阵转置(2)矩阵加和减(3)矩阵乘法(4)矩阵除法A\b=inv(A)*b(5)矩阵的乘方a^2四.MATLAB运算量5.建立矩阵的函数常用函数有:eye(size(A))产生与A矩阵同阶的单位矩阵zeros(m,n)产生0矩阵ones(m,n)产生幺矩阵rand(m,n)产生随机元素的矩阵Size(a)返回包含两个元素的向量。Length(a)返回向量的最大者。四.MATLAB运算量6.数组运算(1)数组的加和减(2)数组的乘和除(3)数组的乘方六.应用举例【例1】求解线性方程组AX=B11.5297303.60.5-44-4其中A=710-32233,B=20378.5216538090-2016在MATLAB命令窗口输入命令:a=[1,1.5,2,9,7;0,3.6,0.5,-4,4;7,10,-3,22,33;3,7,8.5,21,6;3,8,0,90,-20];b=[3;-4;20;5;16];x=a\b得到的结果是:x=3.5653-0.9255-0.26950.14350.0101【例2】求方程x^4+7x^3+9x-20=0的全部根。在MATLAB命令窗口输入:p=[1,7,0,9,-20];%建立多项式系数向量x=roots(p)%求根得到的结果是:x=-7.2254-0.4286+1.5405i-0.4286-1.5405i1.08