1、,数学软件Matlab,数学软件与Matlab的关系,国际上最常用的三种数学类科技应用软件为:3MMatlab Mathematica Maple 还有MathCAD,4M之间的侧重,在国际上30几个数学类科技应用软件中: MATLAB在数值计算方面独占鳌头 Mathematica和Maple则分居符号计算软件的前两名 Mathcad因其提供计算、图形、文字处理的统一环境而深受中学生欢迎,第1章 MATLAB操作基础 1.1 MATLAB概述 1.2 MATLAB的运行环境与安装 1.3 MATLAB集成环境 1.4 MATLAB帮助系统,1.1 MATLAB概述,1.1.1 MATLAB的发
2、展MATLAB语言是由美国的Clever Moler博士于1980年开发的。设计者的初衷是为解决“线性代数”课程的矩阵运算问题。取名MATLAB即Matrix Laboratory 矩阵实验室的意思。,Matlab的详细发展历史,那是20世纪八十年代初期的事: 时任美国新墨西哥大学计算机科学系主任的Cleve Moler教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。,经几年的校际流传,在Little的推动下,由Little、Moler、Steve Bangert合作,于1984年成
3、立了MathWorks公司,并把MATLAB正式推向市场。从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。,MATLAB以商品形式出现后,仅短短几年,就以其良好的开放性和运行的可靠性,使原先控制领域里的封闭式软件包(如英国的UMIST,瑞典的LUND和SIMNON,德国的KEDDC)纷纷淘汰,而改以MATLAB为平台加以重建。在时间进入20世纪九十年代的时候,MATLAB已经成为国际控制界公认的标准计算软件。,1984年,MATLAB第1版(DOS版) 1992年,MATLAB 4.0版 1994年,MATLAB 4.2版 1997年,MATLAB
4、 5.0版 1999年,MATLAB 5.3版 2000年,MATLAB 6.0版 2001年,MATLAB 6.1版 2002年,MATLAB 6.5版 2004年,MATLAB 7.0版,告别DOS版,1993年MathWorks公司从加拿大滑铁卢大学购得Maple的使用权,推出了符号计算工具包。,5.0的MATLAB拥有更丰富的数据类型和结构、更友善的面向对象、更加快速精良的图形可视、更广博的数学和数据分析资源、更多的应用开发工具。,Matlab的更新,V1 矩阵语言/图形 V2 数据分析与处理 V3 应用工具 V4 科学数据可视化(亮点)GUI开发工具稀疏矩阵,Matlab的更新,V5
5、 多维数组结构与嵌套数组面向目标编程集成编辑/调试工具实时仿真,Matlab的影响,就影响而言,至今仍然没有一个别的计算软件可与MATLAB匹敌。 在欧美大学里,诸如应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教科书都把MATLAB作为内容。在那里,MATLAB是攻读学位的大学生、硕士生、博士生必须掌握的基本工具。 在国际学术界,MATLAB已经被确认为准确、可靠的科学计算标准软件。在许多国际一流学术刊物上,(尤其是信息科学刊物),都可以看到MATLAB的应用。,MATLAB语言的特点:,语言简洁紧凑,语法限制不严,程序设计自由度大,可移植性好
6、运算符、库函数丰富图形功能强大界面友好、编程效率高扩展性强,它将一个优秀软件的易用性与可靠性、通用性与专业性 、一般目的的应用与高深的科学技术应用有机的相结合。 MATLAB是一种直译式的高级语言,比其它程序设计语言容易。,MATLAB语言与其它语言的关系仿佛和C语言与汇编语言的关系一样,计算机语言的发展,标志着计算机语言向“智能化”方向发展,被称为第四代编程语言。,MATLAB已经不仅仅是一个“矩阵实验室”了,它集科学计算、图象处理;声音处理于一身,并提供了丰富的Windows图形界面设计方法。 MATLAB语言是功能强大的计算机高级语言, 它以超群的风格与性能风靡全世界,成功地应用于各工程
7、学科的研究领域。,Matlab能在各领域做什么,工业研究与开发数学教学,特别是线性代数数值分析和科学计算方面的教学与研究电子学、控制理论和物理学等工程和科学学科方面的教学与研究经济学、化学和生物学等计算问题的所有其他领域中的教学与研究,例:用简短命令计算并绘制在0x6范围内的sin(2x)、sinx2 、 sin2x。 x=linspace(0,6) y1=sin(2*x),y2=sin(x.2),y3=(sin(x).2; plot(x,y1,x, y2,x, y3),阶梯图,用四种方法描述cos(x)*sin(y)图形,1.1.2 MATLAB的主要功能,1数值计算功能 MATLAB以矩阵
8、作为数据操作的基本单位,还提供了十分丰富的数值计算函数。,MATLAB提供了丰富的矩阵运算处理功能,是基于矩阵运算的处理工具。 变量 矩阵,运算 矩阵的运算。 例如: C = A + B ,A,B,C都是矩阵,是矩阵的加运算。 即使一个常数,Y=5,MATLAB也看做是一个11的矩阵。,2 .符号计算功能,Matlab和著名的符号计算语言Maple相结合,使得Matlab具有符号计算功能。 符号运算即用字符串进行数学分析。 允许变量不赋值而参与运算。 用于解代数方程、微积分、复合导数、积分、二重积分、有理函数、微分方程、泰勒级数展开、寻优等等,可求得解析符号解。,绘图功能与计算结果的可视化,具
9、有高层绘图功能两维、三维绘图 具有底层绘图功能句柄绘图 使用plot函数可随时将计算结果可视化,4.图形化程序编制功能,动态系统进行建模、仿真和分析的软件包用结构图编程,而不用程序编程只需拖几个方块、连几条线,即可实现编 程功能,MATLAB工具箱,MATLAB包含两部分内容:基本部分和各种可选的工具箱。 MATLAB工具箱分为两大类:功能性工具箱和学科性工具箱。许多学科,在MATLAB中都有专用工具箱,现已有30多个工具箱,但MATLAB语言的扩展开发还远远没有结束,各学科的相互促进,将使得MATLAB更加强大。,MATLAB主工具箱符号数学工具箱SIMULINK仿真工具箱控制系统工具箱信号
10、处理工具箱图象处理工具箱通讯工具箱系统辨识工具箱神经元网络工具箱金融工具箱,6.MATLAB的兼容功能,可与C语言、FORTURE语言跨平台兼容用函数CMEX、FMEX实现此功能不推荐使用,7.MATLAB的容错功能,非法操作时,给出提示,并不影响其操作例如:1/0Warning: Divide by zeroans =Inf,8.MATLAB的开放式可扩充结构,Matlab 所有函数都是开放的 用户可按自己意愿随意更改 正因为此功能,使得Matlab的应用越来越广泛 9.强大的联机检索帮助系统,可随时检索Matlab函数 可随时查询Matlab函数的使用方法,Matlab的功能产品,1.Ma
11、tlab compiler将m文件转化为c文件,加快运行速度。 2. Matlab c/c+ Graphics Library由m文件产生GUI独立运行的c程序代码。 3. Matlab c/c+ Math Library由m文件产生独立运行的c程序代码。 4.Databast Toolbox在Matlab中进行对数据库的读写。,5.Databast Acquisitition Toolbox在Matlab中直接读取数据库卡的数据。 6.Excel Link可让Excel世界直接调用Matlab的数据。 7.Matlab Report GeneratorMatlab的报告产生器。 8.Matl
12、ab Runtime Sever将个人应用程序包成一个软件,并在没有Matlab的环境下执行。 9.Matlab Web Sever与NT的Web Sever合用在Sever端执行Matlab的运算或绘图。,1.1.3 初识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
13、=2,-3,1;8,3,2;45,1,-9; b=4;2;17; x=inv(a)*b,1.2 MATLAB的运行环境与安装,1.2.1 MATLAB的运行环境 硬件环境: (1) CPU (2) 内存 (3) 硬盘 (4) CD-ROM驱动器和鼠标。 软件环境: (1) Windows 98/NT/2000 或Windows XP、Vista、windows7、linux等(2) 其他软件根据需要选用,1.2.2 MATLAB的安装,安装Matlab 7.2系统,需运行系统自带的安装程序setup.exe,可以按照安装提示依次操作。 安装Matlab 7.2系统,有时侯需要安装虚拟光驱软件,
14、然后依次顺序安装一个或多个不同的镜象文件。 一般安装过程都比较漫长,请耐心等待。,1.3 MATLAB集成环境,1.3.1 启动与退出MATLAB集成环境 1MATLAB系统的启动 与一般的Windows程序一样,启动Matlab系统有3种常见方法: (1)使用Windows“开始”菜单(2)运行Matlab系统启动程序c:matlabbinmatlab.bat 或者 c:matlabbinmatlab.exe,(3) 利用桌面的快捷方式注意:在work目录下建立startup.m 就可以产生欢迎效果。在m文件里输入:disp(嗨!怎么样?今天心情愉快么?打起精神来!Do It ! );,启动
15、Matlab后,将进入Matlab 7.2集成环境。Matlab 7.2集成环境包括Matlab主窗口、命令窗口(Command Window)、工作空间窗口(Workspace)、命令历史窗口(Command History)、当前目录窗口(Current Directory)和启动平台窗口(Launch Pad)。 如图所示,2MATLAB系统的退出,要退出Matlab系统,也有3种常见方法: (1) 在Matlab主窗口File菜单中选择Exit Matlab命令。 (2) 在Matlab命令窗口输入Exit或Quit命令。 (3) 单击Matlab主窗口的“关闭”按钮。,1.3.2 M
16、ATLAB主窗口,Matlab主窗口是Matlab的主要工作界面。主窗口除了嵌入一些子窗口外,还主要包括菜单栏和工具栏。 1菜单栏 在Matlab 7.2主窗口的菜单栏,共包含File、Edit、Debug、Desktop、Window和Help 6个菜单项。,(1) File菜单项:File菜单项实现有关文件的操作。 (2) Edit菜单项:Edit菜单项用于命令窗口的编辑操作。 (3) Debug菜单项:Debug菜单项用于调试Matlab的程序。,(4) Desktop菜单项: Desktop菜单项用于设置 Matlab的窗口布局。 (5) Window菜单项:主窗口菜单栏上的Windo
17、w菜单,包含一个子菜单Close all,用于关闭所有打开的编辑器窗口,包括M-file、Figure、Model 和GUI窗口。 (6) Help菜单项:Help菜单项用于提供帮助信息。,2工具栏 Matlab7.2主窗口的工具栏共提供了11个命令按钮。这些命令按钮均有对应的菜单命令,但比菜单命令使用起来更快捷、方便。,1.3.3 命令窗口,命令窗口是MATLAB的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果。 MATLAB命令窗口中的“”为命令提示符,表示MATLAB正在处于准备状态。,在命令提示符后键入命令并按下回车键后,Matlab就会解释执行所输入的命令,并在命令后面给出
18、计算结果。 如果希望结果不被显示,则只要在语句之后加上一个分号(;)即可。此时尽管结果没有显示,但它依然被赋值并在Matlab工作空间中分配了内存。,一般来说,一个命令行输入一条命令,命令行以回车结束。但一个命令行也可以输入若干条命令,各命令之间以逗号分隔,若前一命令后带有分号,则逗号可以省略。例如:p=15, m=35 p=15; m=35,如果一个命令行很长,一个物理行之内写不下,可以在第一个物理行之后加上3个小黑点并按下回车键,然后接着下一个物理行继续写命令的其他部分。3个小黑点称为续行符,即把下面的物理行看作该行的逻辑继续。 在Matlab里,有很多的控制键和方向键可用于命令行的编辑。
19、,(1)方向键和控制键可以编辑修改已输入的命令:回调上一行命令 :回调下一行命令 (2)命令窗口的分页输出more off:不允许分页 more on:允许分页more(n):指定每页输出的行数,matlab与dos兼容命令,1.dir 可列出指定目录下的文件和子目录清单 例如:dir 可显示当前目录下的所有文件dir c:matlabdir c:matlab*.m,2.cd可改变当前工作目录cd c:matlabtoolbox 3.type 可显示指定文件的全部内容type myfile.m,4.delete 删除指定文件,del abc 删除当前目录下的abc文件del c:matlaba
20、aa.m注意:只可删除用户文件,其它文件不要轻易删除,否则系统会瘫痪,1.3.4 工作空间窗口,工作空间是Matlab用于暂时存储各种变量和结果的内存空间。在该窗口中显示工作空间中所有变量的名称、大小、字节数和变量类型说明,可对变量进行观察、编辑、保存和删除。,1、变量 (1)变量的命名:变量的名字必须以字母开头(不能超过19个字符),之后可以是任意字母、数字或下划线;变量名称区分字母的大小写;变量中不能包含有标点符号。 使用exist来查询变量或函数是否存在?,exist(A) returns:0 if A does not exist1 if A is a variable in the
21、workspace2 if A is an M-file on MATLABs search path. It also returns 2 whenA is the full pathname to a file or when A is the name of anordinary file on MATLABs search path,3 if A is a MEX- or DLL-file on MATLABs search path4 if A is a MDL-file on MATLABs search path5 if A is a built-in MATLAB functi
22、on6 if A is a P-file on MATLABs search path7 if A is a directory8 if A is a Java class,eps 容差变量,(计算机的最小数)在 pc机上 = 2-52pi 圆周率的近似值3.1415926inf或Inf 表示正无大,定义为1/0NaN 非数,(Not a Number)它产生于0,0/0,/ 等运算,即 0*infi,j 虚数单位 flops 浮点运算数ans 对于未赋值运算结果,自动赋给ansnargin 函数的输入变量个数nargout 函数的输出变量个数,数据的显示格式由format命令控制。 form
23、at只是影响结果的显示,不影响其计算与存储;MATLAB总是以双字长浮点数(双精度)来执行所有的运算。 如果结果为整数,则显示没有小数;如果结果不是整数,则输出形式有:,format (short):短格式(5位定点数) 99.1253 format long:长格式(15位定点数 99.12345678900000 format short e:短格式e方式 9.9123e+001 format long e:长格式e方式 9.912345678900000e+001 format bank:2位十进制 99.12 format hex:十六进制格式 format compact:屏幕显示方
24、式为紧凑,数据间隔小 format loose:屏幕显示方式为松散,为系统默认格式,简单的数学运算,1、常用的数学运算符,*(乘),/(左除),(右除),(幂)在运算式中,MATLAB通常不需要考虑空格;多条命令可以放在一行中,它们之间需要用分号隔开;逗号告诉MATLAB显示结果,而分号则禁止结果显示。,2、常用数学函数,abs,sin,cos,tan,asin,acos,atan,sqrt,exp,imag,real,sign,log,log10,conj(共扼复数)等(例exp2_2.m),变量查询函数who与whos (简与全) 作用都是列出在matlab工作空间中已经驻留的变量名清单
25、不同的是whos在给出驻留变量的同时,还给出他们的维数及性质,永久变量,在matlab工作内存中,驻留了几个由系统本身在启动时定义的变量,我们称为永久变量永久变量用who指令是查看不到的,只可 随时调用 clear :清除工作空间中所有的变量 clear变量名:清除指定的变量,1.3.5 当前目录窗口和搜索路径 1当前目录窗口 当前目录是指MATLAB运行文件时的工作目录,只有在当前目录或搜索路径下的文件、函数可以被运行或调用。 在当前目录窗口中可以显示或改变当前目录,还可以显示当前目录下的文件并提供搜索功能。,将用户目录设置成当前目录也可使用cd命令。例如,将用户目录c:mydir设置为当前
26、目录,可在命令窗口输入命令: cd c:mydir cd path:由当前目录进入path目录 cd :返回上一级目录 cd:显示当前目录,2MATLAB的搜索路径,当用户在MATLAB命令窗口输入一条命令后,MATLAB按照一定次序寻找相关的文件。基本的搜索过程是: (1) 检查该命令是不是一个变量。 (2) 检查该命令是不是一个内部函数。 (3) 检查该命令是否当前目录下的M文件。 (4) 检查该命令是否MATLAB搜索路径中其 他目录下的M文件。,用户可以将自己的工作目录列入Matlab搜索路径,从而将用户目录纳入Matlab系统统一管理。设置搜索路径的方法有:(1) 用path命令设置
27、搜索路径。 Path 显示matlab启动时设定的搜索路径,例如,将用户目录c:mydir加到搜索路径下,可在命令窗口输入命令: path(path,c:mydir) 可将你需要的目录永久纳入matlab搜索路径 打开c:matlabtoolboxlocalmatlabrc.m 在所有搜索路径后加上c:mydir;,(2) 用对话框设置搜索路径,在Matlab的File菜单中选Set Path命令或在命令窗口执行pathtool命令,将出现搜索路径设置对话框。通过Add Folder或Add with Subfolder命令按钮将指定路径添加到搜索路径列表中。 在修改完搜索路径后,则需要保存搜
28、索路径。,1.3.6 命令历史记录窗口,在默认设置下,历史记录窗口中会自动保留自安装起所有用过的命令的历史记录,并且还标明了使用时间,从而方便用户查询。而且,通过双击命令可进行历史命令的再运行。如果要清除这些历史记录,可以选择Edit菜单中的Clear Command History命令。,1.3.7 启动平台窗口和Start按钮,Matlab 7.2的启动平台窗口可以帮助用户方便地打开和调用MATLAB的各种程序、函数和帮助文件。 Matlab 7.2主窗口左下角还有一个Start按钮,单击该按钮会弹出一个菜单,选择其中的命令可以执行MATLAB产品的各种工具,并且可以查阅MATLAB包含的
29、各种资源。,1.4 MATLAB帮助系统,1.4.1 帮助窗口 进入帮助窗口可以通过以下3种方法: (1) 单击Matlab主窗口工具栏中的Help按钮。 (2) 在命令窗口中输入helpwin、helpdesk或 doc。 (3) 选择Help菜单中的“Matlab Help”选项。,1.4.2 帮助命令,Matlab帮助命令包括help、lookfor以及模糊查询。 1help命令 在Matlab 7.2命令窗口中直接输入help命令将会显示当前帮助系统中所包含的所有项目,即搜索路径中所有的目录名称。同样,可以通过help加函数名来显示该函数的帮助说明。,help 显示help 主题一览表
30、 help help 显示help 的帮助信息虽然help可以随时提供帮助,但必须知道准确的函数名称。当不能确定函数名称时,help就无能为力了。,2lookfor命令,help命令只搜索出那些关键字完全匹配的结果,lookfor命令对搜索范围内的M文件进行关键字搜索,条件比较宽松。 lookfor命令只对M文件的第一行进行关键字搜索。若在lookfor命令加上-all选项,则可对M文件进行全文搜索。,3模糊查询,Matlab 6.0以上的版本提供了一种类似模糊查询的命令查询方法,用户只需要输入命令的前几个字母,然后按Tab键,系统就会列出所有以这几个字母开头的命令。,1.4.3 演示系统,在帮助窗口中选择演示系统(Demos)选项卡,然后在其中选择相应的演示模块,或者在命令窗口输入Demos,或者选择主窗口Help菜单中的Demos子菜单,打开演示系统。,1.4.4 远程帮助系统,在MathWorks公司的主页(http:/)上可以找到很多有用的信息,国内的一些网站也有丰富的信息资源。,