2.1 MATLAB 仿真软件介绍
MATLAB产生的历史背景
20世纪70年代中期,Cleve Moler博士和其同事在美国国家科学基金的资助下开发了调用EISPACK和LINPACK的FORTRAN子程序库。EISPACK是特征值求解的FORTRAN程序库,LINPACK 是解线性方程的程序库。在当时,这两个程序库代表矩阵运算的最高水平。
到20世纪70年代后期,身为美国New Mexico大学计算机系系主任的Clev e Moler,在给学生讲授线性代数课程时,想教学生使用EISPACK和LINPACK程序库,但他发现学生用FORTRAN编写接口程序很费时间,于是他开始自己动手,利用业余时间为学生编写EISPACK 和LINPACK的接口程序。Cleve Moler给这个接口程序取名为MATLAB,该名为矩阵(matrix)和实验室(laboratory)两个英文单词的前三个字母的组合。在以后的数年里,MATLAB在多所大学里作为教学辅助软件使用,并作为面向大众的免费软件广为流传。
1983年春天,Cleve Moler到Stanford大学讲学,MATLAB深深地吸引了工程师John Little。John Little敏锐地觉察到MATLAB在工程领域的广阔前景。同年,他和 Cleve Moler、Sieve Bangert一起,用C语言开发了第二代专业版。这一代的MATLAB语言同时具备了数值计在算和数据图示化的功能。
matlab难还是c语言难
1984年,Cleve Moler和 John Lithe成立了MathWorks公司,正式把MATLAB推向市场,并继续进行MATLAB的研究和开发。
在当今30多个数学类科技应用软件中,就软件数学处理的原始内核而言,可分为两大类。一类是数值计算型软件,如 MATLAB、Xmath、Gauss等,这类软件长于数值计算,对处理大批数据效率高;另一类是数学分析型软件,如Mathematica、Maple等,这类软件以符号计算见长,能给出解析解和任意精度解,其缺点是处理大量数据时效率较低。MathWorks公司顺应多功能需求之潮流,在其卓越数值计算和图示能力的基础上,又率先在专业水平上开拓了其符号计算、文字处理、可视化建模和实时控制能力,开发了适合多学科、多部门要求的新一代科技应用软件MATLAB。经过多年的国际竞争,MATLAB 已经占据了数值型软件市场的主导地位。
在MATLAB进入市场前,国际上的许多应用软件包都是直接以FORTRAN和C语言等编程语言开发的。这种软件的缺点是使用面窄、接口简陋、程序结构不开放以及没有标准的基库,很难适应各学科的最新发展,因而很难推广。MATLAB的出现,为各国科学家开发学科软件提供了新的基础。在MATLAB问世不久的20世纪80年代中期,原先控制领域里的一些软件包纷纷被淘汰或在MATLAB上重建。
MathWorks公司1993年推出了MATLAB 4.0版,1995年推出4.2C版(for win3.X)1997年推出5.0版。1999年推出5.3版。MATLAB 5.X较MATLAB 4.X无论是界面还是内容都有长足的进展,其帮助信息采用超文本格式和PDF格式,在Netscape 3.0或IE 4.0及以上版本,Acrobat Reader中可以方便地浏览。
时至今日,经过Math Works公司的不断完善,MATLAB已经发展成为适合多学科、多种工
作平台的功能强劲的大型软件。在国外,MATLAB已经经受了多年考验。在欧美等高校,MATLAB 已经成为线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具;成为攻读学位的大学生、硕士生、博士生必须掌握的基本技能。在设计研究单位和工业部门,MATLAB被广泛用于科学研究和解决各种具体问题。
MATLAB功能简介及应用范围
MATLAB是矩阵实验室(Matrix Laboratory)的简称。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多。
(Toolbox)。工具包又可以分为功能性工具包和学科工具包。功能工具包用来扩充MATLAB 的符号计算,可视化建模仿真,文字处理及实时控制等功能。学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈
一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且mathwork 也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以使用。
MATLAB有着强大的功能,可以用来进行多种工作,具体如下:数值分析、数值和符号计算、工程与科学绘图、控制系统的设计与仿真、数字图像处理技术、数字信号处理技术、通讯系统设计与仿真、财务与金融工程等。
MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用MATLAB 函数集)扩展了 MATLAB 环境,可以解决这些应用领域内特定类型的问题。
MATLAB的语言特点
MATLAB被称为第四代计算机语言,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB的最突出的特点就是简洁。MATLAB用更直观的、符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。MATLAB给用户带来的是最直观、最简洁的程序开发环境。以下简单介绍一下MATLAB的主要特点。
①语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用其丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。
②运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短,具体运算符见附表。
③MATLAB既具有结构化的控制语句(如for循环、while循环、break语句和if语句),又有面向对象编程的特性。
④语法限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。
⑤程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。
⑥MATLAB的图形功能强大。在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视
化非常简单。MATLAB还具有较强的编辑图形界面的能力。
⑦MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。
⑧功能强劲的工具箱是MATLAB的另一重大特。MATLAB包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又可分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互功能。功能性工具箱能用于多种学科。而学科性工具箱是专业性比较强的,如control、toolbox、signal processing toolbox、communication toolbox等。这些工具箱都是由该领域内的学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高、精、尖的研究。下表列出了MATLAB的核心部分及其工具箱等产品系列的主要应用领域。
⑨源程序的开放性。开放性也许是MATLAB最受人们欢迎的特点。除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。
Simulink简介
Simulink是Matlab软件下的一个附加组件,是一个用来对动态系统进行建模、仿真和分析的MATLAB软件包。支持连续、离散以及两者混合的线性和非线性系统,同时它也支持具有不同部分拥有不同采样率的多种采样速率的仿真系统。在其下提供了丰富的仿真模块。其主要功能是实现动态系统建模、方针与分析,可以预先对系统进行仿真分析,按仿真的最佳效果来调试及整定控制系统的参数。Simulink仿真与分析的主要步骤按先后顺序为为:从模块库中选择所需要的基本功能模块,建立结构图模型,设置仿真参数,进行动态仿真并观看输出结果,针对输出结果进行分析和比较。
Simulink模块库提供了丰富的描述系统特性的典型环节,有信号源模块库(Source) ,接收模块库(Sinks),连续系统模块库(Continuous),离散系统模块库(Discrete),非连续
系统模块库(Signal Routing),信号属性模块库(Signal Attributes),数学运算模块库(Math Operations),逻辑和位操作库(Logic and Bit Operations)等等,此外还有一些特定学科仿真的工具箱。
Simulink为用户提供了一个图形化的用户界面(GUI)。对于用方框图表示的系统,通过图形界面,利用鼠标单击和拖拉方式,建立系统模型就像用铅笔在纸上绘制系统的方框图一样简单,它与用微分方程和差分方程建模的传统仿真软件包相比,具有更直观、更方便、更灵活的优点。不但实现了可视化的动态仿真,也实现了与MATLAB、C或者FORTRAN语言,甚至和硬件之间的数据传递,大大扩展了它的功能。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。