第一二章 MATLAB 入门.docx
- 文档编号:30300927
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:77
- 大小:56.77KB
第一二章 MATLAB 入门.docx
《第一二章 MATLAB 入门.docx》由会员分享,可在线阅读,更多相关《第一二章 MATLAB 入门.docx(77页珍藏版)》请在冰豆网上搜索。
第一二章MATLAB入门
第一章MATLAB入门
Chapterone:
IntroductiontoMATLAB
MATLAB(MatrixLaboratory)是美国MathWorks公司开发的用于概念设计,算法开发,建模仿真,实时实现的理想的集成环境,是目前最好的科学计算类软件。
作为和Mathematica、Maple并列的三大数学软件之一,其强项就是强大的矩阵计算以及仿真能力。
MATLABN提供了自己的编译器:
全面兼容C++以及Fortran两大语言。
所以MATLAB是工程师、科研工作者手上最好的语言,最好的工具和环境,已经成为广大科研人员的最值得信赖的助手和朋友。
除了具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能,是具有全部语言功能和特征的新一代软件开发平台。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言简捷得多.MATLAB是国际公认的优秀数学应用软件之一。
目前,MATLAB已发展成为适合众多学科,多种工作平台、功能强大的大型软件,成为了诸多领域的开发首选软件,并且,MATLAB还具有500余家第三方合作伙伴,分布在科学计算、机械动力、化工、计算机通讯、汽车、金融等领域,接口方式包括了联合建模、数据共享、开发流程衔接等等。
在欧美等国家的高校,MATLAB已成为线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具。
成为攻读学位的本科、硕士、博士生必须掌握的基本技能。
在设计研究单位和工业开发部门,MATLAB被广泛的应用于研究和解决各种具体问题。
MATLAB的发展历程和影响
MATLAB由MATrix和LABoratory两词的前三个字母组合而成。
20世纪七十年代后期,时任美国新墨西哥大学计算机科学系主任的CleveMoler教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,形成了用FORTRAN编写的萌芽状态的MATLAB。
经几年的校际流传,在Little的推动下,由Little、Moler、SteveBangert合作,于1984年成立了MathWorks公司,并把MATLAB正式推向市场。
从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。
MATLAB以商品形式出现后,仅短短几年,就以其良好的开放性和运行的可靠性,使原先控制领域里的封闭式软件包(如英国的UMIST,瑞典的LUND和SIMNON,德国的KEDDC)纷纷被淘汰,而改以MATLAB为平台加以重建。
在时间进入20世纪九十年代的时候,MATLAB已经成为国际控制界公认的标准计算软件。
到九十年代初期,在国际上30几个数学类科技应用软件中,MATLAB在数值计算方面独占鳌头,而Mathematica和Maple则分居符号计算软件的前两名。
Mathcad则因其使用操作十分简单,不要求用户具有精深的计算机知识,对于任何具有一定数学知识的人,都可以十分容易地学会使用。
当输入一个数学公式、方程组、矩阵等,计算机将直接给出计算结果,而无须去考虑中间计算过程。
因MathCad也可以进行复杂的数学计算,图形显示和文档处理,也是一种受欢迎的大众化数学工具。
MathWorks公司于1993年推出MATLAB4.0版本,从此告别DOS版。
4.x版在继承和发展其原有的数值计算和图形可视能力的同时,出现了以下几个重要变化:
(1)推出了SIMULINK。
这是一个交互式操作的动态系统建模、仿真、分析集成环境。
它的出现使人们有可能考虑许多以前不得不做简化假设的非线性因素、随机因素,从而大大提高了人们对非线性、随机动态系统的认知能力。
(2)开发了与外部进行直接数据交换的组件,打通了MATLAB进行实时数据分析、处理和硬件开发的道路。
(3)推出了符号计算工具包。
1993年MathWorks公司从加拿大滑铁卢大学购得Maple的使用权,以Maple为“引擎”开发了SymbolicMathToolbox1.0。
MathWorks公司此举加快结束了国际上数值计算、符号计算孰优孰劣的长期争论,促成了两种计算的互补发展新时代。
(4)构作了Notebook。
MathWorks公司瞄准应用范围最广的Word,运用DDE和OLE,实现了MATLAB与Word的无缝连接,从而为专业科技工作者创造了融科学计算、图形可视、文字处理于一体的高水准环境。
随着时间的推移,MATLAB的功能不断扩充,版本不断升级,现今的MATLAB拥有更丰富的数据类型和结构、更友善的面向对象、更加快速精良的图形可视、更广博的数学和数据分析资源、更多的应用开发工具。
1995年推出了4.2版,1997年春,MATLAB5.0版问世,紧接着是5.1、5.2,5.X版无论是界面还是内容都有长足的进展,其帮助信息采用超文本格式和PDF格式,可以方便的浏览。
至2001年6月推出6.1版,2002年6月推出6.5版。
从2006年开始,MathWorks公司每年进行两次例行的产品发布,时间分别在每年的3月和9月,而且,每一次发布都会包含所有的产品模块,如产品的newfeature、bugfixes和新产品模块的推出。
继7.0版、7.1版、7.3(MATLAB2006b)版、7.4(R2007a)版、7.5(R2007b)版、7.6(R2008a)版。
7.7(R2008b)版,7.8(R2009a)版,最新 版本为2009 年 9 月4日发布的7.9版(R2009b)MATLAB和Simulink产品家族。
从R2008a开始,MATLAB和Simulink产品家族软件在安装后需要激活才能使用。
附件:
版本发布或者更新时间
版本[4]
建造编号
发布时间
MATLAB1.0
1984
MATALB2
1986
MATLAB3
1987
MATLAB3.5
1990
MATLAB4
1992
MATLAB4.2c
R7
1994
MATLAB5.0
R8
1996
MATLAB5.1
R9
1997
MATLAB5.1.1
R9.1
1997
MATLAB5.2
R10
1998
MATLAB5.2.1
R10.1
1998
MATLAB5.3
R11
1999
MATLAB5.3.1
R11.1
1999
MATLAB6.0
R12
2000
MATLAB6.1
R12.1
2001
MATLAB6.5
R13
2002
MATLAB6.5.1
R13SP1
2003
MATLAB6.5.2
R13SP2
2003
MATLAB7
R14
2004
MATLAB7.0.1
R14SP1
2004
MATLAB7.0.4
R14SP2
2005
MATLAB7.1
R14SP3
2005
MATLAB7.2
R2006a
2006
MATLAB7.3
R2006b
2006
MATLAB7.4
R2007a
2007
MATLAB7.5
R2007b
2007
MATLAB7.6
R2008a
2008
MATLAB7.7
R2008b
2008
MATLAB7.8
R2009a
2009.3.6
MATLAB7.9
R2009b
2009.9.4
Release2009b的新功能
Release2009b包括MATLAB和Simulink的若干新功能,以及对其它83款产品的更新和缺陷修复。
R2009b增加了对64-位Mac平台的支持。
已经购买MathWorks软件维护服务的用户可以下载产品更新。
R2009b也提供了增强的许可中心功能。
许可中心是用于激活软件以及管理许可证和用户信息的一个在线工具。
MATLAB产品系列的新功能包括:
重新设计的帮助浏览器,支持从MATLAB直接访问MATLABCentral文件交换,及其它桌面增强功能
扩展了对MATLAB和ImageProcessingToolbox中函数的多核支持,以及对StatisticsToolbox中函数的并行支持
ParallelComputingToolbox的全新界面,可访问和处理集群上的分布式数组
ImageProcessingToolbox支持处理任意大型图像文件
MappingToolbox支持从网络地图服务(WMS)服务器搜索和检索地理数据集
在Fixed-PointToolbox进行全局设置,以简化带有使用定点变量的运算
Simulink产品系列的新功能包括:
Simulink、SignalProcessingBlockset和嵌入式MATLAB中支持用于仿真和代码生成的可变维度信号和数据
可用于管理Simulink和Real-TimeWorkshop设计方案的模型变量
可立即在Simulink中使用的PID控制器,以及SimulinkControlDesign的自动调优
减少了Real-TimeWorkshop的数据副本,可自定义矩阵运算以用于生成嵌入式信号处理代码
SimulinkVerificationandValidation中用于管理和部署配置及自定义检查的ModelAdvisorConfigurationEditor(模型顾问配置编辑器)
新的交互式编译报告,可分析数组大小和其它嵌入式MATLAB代码特性
到1999年底,Mathematica也已经升到4.0版,它特别加强了以前欠缺的大规模数据处理能力。
Mathcad也赶在2000年到来之前推出了Mathcad2000,它购买了Maple内核和库的部分使用权,打通了与MATLAB的接口,从而把其数学计算能力提高到专业层次。
但是,就影响而言,至今仍然没有一个别的计算软件可与MATLAB匹敌。
在欧美大学里,诸如应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教科书都把MATLAB作为内容。
这几乎成了九十年代教科书与旧版书籍的区别性标志。
在那里,MATLAB是攻读学位的大学生、硕士生、博士生必须掌握的基本工具。
在国际学术界,MATLAB已经被确认为准确、可靠的科学计算标准软件。
在许多国际一流学术刊物上,(尤其是信息科学刊物),都可以看到MATLAB的应用。
在设计研究单位和工业部门,MATLAB被认作进行高效研究、开发的首选软件工具。
如美国NationalInstruments公司信号测量、分析软件LabVIEW,Cadence公司信号和通信分析设计软件SPW等,或者直接建筑在MATLAB之上,或者以MATLAB为主要支撑。
又如HP公司的VXI硬件,TM公司的DSP,Gage公司的各种硬卡、仪器等都接受MATLAB的支持。
MATLAB-巨人肩上的工具
MATLAB被誉为“巨人肩上的工具”。
由于使用Matlab编程运算与人进行科学计算的思路和表达方式完全一致,所以不象学习其它高级语言--如Basic、Fortran和C等那样难于掌握,用Matlab编写程序犹如在演算纸上排列出公式与求解问题,所以又被称为演算纸式科学算法语言。
一般数值分析、矩阵运算、数字信号处理、建模和系统控制和优化等应用程序,并集应用程序和图形于一便于使用的集成环境中。
在这个环境下,对所要求解的问题,用户只需简单地列出数学表达式,其结果便以数值或图形方式显示出来。
MATLAB的含义是矩阵实验室(MATRIXLABORATORY),主要用于方便矩阵的存取,其基本元素是无须定义维数的矩阵。
MATLAB自问世以来,就是以数值计算称雄。
MATLAB进行数值计算的基本单位是复数数组(或称阵列),这使的MATLAB高度“向量化”。
经过十几年的完善和扩充,现已发展成为线性代数课程的标准工具。
由于它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便,这是其它高级语言所不能比拟的。
美国许多大学的实验室都安装有MATLAB供学习和研究之用。
在那里,MATLAB是攻读学位的大学生硕士生博士生必须掌握的基本工具。
MATLAB中包括了被称作工具箱(TOOLBOX)的各类应用问题的求解工具。
工具箱实际上是对MATLAB进行扩展应用的一系列MATLAB函数(称为M文件),它可用来求解各类学科的问题,包括信号处理、图象处理、控制系统辨识、神经网络等。
随着MATLAB版本的不断升级,其所含的工具箱的功能也越来越丰富,因此,应用范围也越来越广泛,成为涉及数值分析的各类工程师不可不用的工具。
MATLAB5.3中包括了图形界面编辑GUI,改变了以前单一的“在指令窗通过文本形的指令进行各种操作”的状况。
这可让使用者也可以象VB、VC、VJ、DELPHI等那样进行一般的可视化的程序编辑。
在命令窗口(matlabcommandwindow)键入simulink,就出现(SIMULINK)窗口。
以往十分困难的系统仿真问题,用SIMULINK只需拖动鼠标即可轻而易举地解决问题,这也是近来受到重视原因所在。
TheMathWorks,Inc.网址:
MATLAB的重要功能和主要组成部分
一)功能:
目前MATLAB产品族的主要功能为:
1、数学运算功能:
MATLAB的产品家族的基础
-矩阵运算和数值分析算法等
-数值和符号计算
2、2D和3D图形显示功能:
可以实现相应数值可视化工作
-工程与科学绘图
-数字图像处理
3、交互式的高级编程语言:
M语言编程功能,可通过编写脚本或者函数文件实现用户自己的算法
4、工具箱函数功能:
可供用户直接使用的专业工具箱函数,目前有四十多个工具箱,含盖许多科技领域,如:
-科学计算
-控制系统的设计与仿真
-数字信号处理
-数字图象处理
-通讯系统设计与仿真
-财务与金融工程
-生物遗传工程...
5、编译功能:
可通过编译器(Compiler)将MATLABM语言编写的函数文件编译生成函数库、可执行文件COM组件等,使MATLAB能够同其他高级编程语言(如C/C++等)进行混合应用,取长补短。
MATLAB具有用法简易、可灵活运用、程序结构强又兼具延展性的优点,
以下为其主要特色:
∙功能强大的数值运算:
在MATLAB环境中,有超过500种数学、统计、科学及工程方面的函数可使用,函数的标示自然,使得问题和解答像数学式子一般简单明了,让使用者可全力发挥在解题方面,而非浪费在电脑操作上。
∙先进的资料视觉化功能:
MATLAB的物件导向图形架构让使用者可执行视觉数据分析,并制作高品质的图形,完成科学性或工程性图文并茂的文章。
∙高阶但简单的程序环境:
做为一种直译式的程序语言,MATLAB让使用者在短时间内写完程序,所花的时间约为用FORTRAN或C的几分之一,而且不需要编译(compile)及联结(link)即能执行,同时包含了更多及更容易使用的内建功能。
∙开放及可延伸的架构:
MATLAB容许使用者接触它大多数的数学原始码,监视运算法,更改现存函数,甚至加入自己的函数使MATLAB成为使用者所须要的环境。
∙丰富的程序工具箱:
MATLAB拥有多于40种的程序工具箱,这些工具箱将套装前软件的优点,与一个灵活的开放但容易操作的环境融合,提供了使用者在特别应用领域所需之许多函数。
现有工具箱主要有:
符号运算(利用MapleV的计算核心执行)、影像处理、统计分析、讯号处理、神经网路、模拟分析、控制系统、即时控制、系统确认、强建控制、弧线分析、最佳化、模糊逻辑、mu分析及合成、化学计量分析等几大类别。
MATLAB7的升级内容:
MATLAB7针对编程环境,代码效率、数据可视化、数学计算、文件I/O等方面进行了升级,包括:
*开发环境
1、重新设计了桌面环境,针对多文档界面应用提供了简便的管理和访问方法,允许用户自定义桌面外观,创建常用命令的快捷方式;
2、增强数组编辑器(ArrayEditor)和工作空间浏览器(WorkspaceBrowser)功能,用于数据的显示、编辑和处理;
3、在当前目录浏览器(CurrentDirectoryBrowser)工具中,增加代码效率分析、覆盖度分析等功能。
;
4、M-Lint编码分析,辅助用户完成程序性能分析,提高程序执行效率;
5,增强M文件编辑器(MEditor),支持多种格式源代码文件可视化编辑,例如C/C++,HTML,Java等。
*编程
1、支持创建嵌套函数(NestedFunction),提供更灵活的代码模块化转化;
2、匿名函数(AnonymousFunction)功能,支持在命令行或者脚本文件中创建单行函数(SingleLineFunction);
3、支持条件分支断点,可以在条件分支语句中进行程序中断调试;
4、模块化注释,支持为代码段注释。
*数学
1、支持整数算术运算;
2、支持单精度数据类型运算,包括基本算术运算、线性代数、FFT等;
3、使用更强大的计算算法包Qhull2002.1,提供更丰富的算法支持;
4、Linsolve函数用于处理线性代数方程求解;
5、ODE求解器能够处理隐性微分方程组以及多点边界问题;
*图形和3D可视化
1、新图形窗口界面;
2、直接从图形窗体生成M代码,可以完成用户自定义绘图;
3、增强图形窗体注释;
4、数据侦测工具(DataExplorationTools),提供丰富的数据观测手段;
5、自定义图形对象,提供丰富的图形显示功能;
6、GUIDE新增对用户界面和ActiveX控件支持;
7、增强句柄图形对象支持完整地TeX和LaTeX字符集;
*文件I/O和外部接口
1、新增文件I/O函数,支持读取任意格式文本数据文件,并且支持写入Excel和HDF5格式数据文件;
2、具有压缩功能的MAT文件格式,支持快速数据文件I/O能力;
3、javaaddpath函数,无需重新启动MATLAB就可完成Java类的加载、删除等功能;
4、支持COM、服务器事件以及VBS;
5、支持SOAP,使用网络服务;
6、FTP对象,直接访问FTP服务器;
7、支持Unicode编码格式,增强MAT文件字符集;
*性能与系统平台支持
1、JIT加速器支持所有数值数据类型;
2、WindowsXP系统下支持3GB内存访问。
二)MATLAB的主要组成部分:
MATLAB系统由5个主要的部分构成:
(1)开发环境(developmentEnvironment):
为MATLAB用户或程序编制员提供的一套应用工具和设施。
由一组图形化用户接口工具和组件集成:
包括MATLAB桌面、命令窗口、命令历史窗口、编辑调试窗口及帮助信息、工作空间、文件和搜索路径等浏览器;
(2)MATLAB数学函数库(MathFunctionLibrary):
数学和分析功能在MATLAB工具箱中被组织成8个文件夹。
elmat初步矩阵,和矩阵操作。
elfun初步的数学函数。
求和、正弦、余弦和复数运算等
specfun特殊的数学函数。
矩阵求逆、矩阵特征值、贝塞尔函数等;
matfun矩阵函数-用数字表示的线性代数。
atafun数据分析和傅立叶变换。
polyfun插值,多项式。
funfun功能函数。
sparfun稀疏矩阵。
(3)MATLAB语言:
(MATLABLanguage)一种高级编程语言(高阶的矩阵/数组语言),包括控制流的描述、函数、数据结构、输入输出及面对对象编程;
(4)句柄图形:
(HandleGraphics)MATLAB制图系统具有2维、三维的数据可视化,图象处理,动画片制作和表示图形功能。
可以对各种图形对象进行更为细腻的修饰和控制。
允许你建造完整的图形用户界面(GUI),以及建立完整的图形界面的应用程序。
制图法功能在MATLAB工具箱中被组织成5个文件夹:
graph2d二维数图表。
graph3d三维图表。
specgraph专业化图表。
graphics制图法。
uitools图形用户界面工具。
(5)应用程序接口:
(AppliedFunctionInterface)MATLAB的应用程序接口允许用户使用C或FORTRAN语言编写程序与MATLAB连接。
MATLAB工具箱(Toolbox);(表1—2)
二.MATLAB的安装:
与一般光盘软件的安装相同,略
三.MATLAB的系统开发环境(SystemDevelopingEnvironment)
1.操作桌面(OperatingDesktop)
(1)桌面布局:
6个窗口(图示、操作演示)
*命令窗口(CommendWindow)
*工作空间窗口(Workspace)
*当前目录浏览器(CurrentDirectory)(Currentfolder7.9版)
*命令历史窗口(CommendHistory)
*启动平台(LaunchPad)6.x版
*帮助窗口(Help)
*M文件优化器(Profiler)
ProfilerforImprovingPerformance:
OnewaytoimprovetheperformanceofyourM-filesisusingprofilingtools.MATLABprovidestheM-fileProfiler,agraphicaluserinterfacethatisbasedontheresultsreturnedbytheprofilefunction.UsetheProfilertohelpyoudeterminewhereyoucanmodifyyourcodetomakeperformanceimprovements.
窗口的切换、放大与关闭。
(switching,Amplification,tun-off)
6.0版Desktop菜单中的desktoplayout菜单中提供的6种可选布局:
*Default
*CommandWindow
*Simple
*ShortHis
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第一二章 MATLAB 入门 第一