设为首页
加入收藏
联系我们
电脑入门 | 操作系统 | 工具软件 | 病毒安全 | 平面设计 | 媒体动画 | 网页制作 | 网络编程 | 数 据 库 | 服 务 器 | 程序设计 
认证考试 | 网管大全 | 站长CLUB | 游戏娱乐 | 机械电子 | 学院热门 | 热门源码 | 软件新闻 | 驱动下载 
您当前的位置:藏经阁资源站 -> 机械电子 -> MATLAB -> Matlab基础 -> 教程内容 退出登录 用户管理
栏目导航
热门教程
· 劲舞团8K舞步 1.7最新舞步 魔神舞步
· [组图] 上网助手反间谍专家火热试用
· [组图] Win2000/XP/2003:系统万能Ghost全攻略
· [组图] Photoshop超酷海报效果
· [图文] 一分钟攻破ADSL 盗遍宽带密码1
· [组图] MATLAB 概 论
· AutoCAD二次开发语言及工具介绍
· [组图] Photoshop合成图:蛋壳-女孩
· [图文] 《仙剑奇侠传4》绝密情报 首度曝光
· [组图] 初学java常用开发工具介绍
· [图文] 将数码照片做成自动放映的Flash
· [图文] [常用]免费短信收发工具串串烧
· [图文] 《上古卷轴4》杂志扫描图抢先看
· 超全!Windows快捷键大全
· Pro/E 功能
· [组图] 用Pro/E画减速机渐开线斜齿圆柱齿轮的一般方法
· [组图] FLASH:《大话李白》创作全过程
· [组图] 使用Visual LISP创建简单的LISP应用程序
· 2004年计算机等级考试二级C语言试题及答案
· [图文] 信不信由你 KMPlayer隐藏着“雷电”
相关教程
· MATLAB 数组运算和矩阵运算
· MATLAB 二维数组的创建
· MATLAB 一维数组的创建和寻访
· [图文] MATLAB 引导
· MATLAB 文件管理
· MATLAB 指令窗中的help指令和lookfor指令
· [图文] MATLAB 控制指令窗的指令、操作和标点
· [图文] MATLAB 指令窗运行入门
· matlab调试工具
· [组图] matlab数值分析(2)
· [组图] matlab数值分析(1)
· [组图] matlab多项式
· [图文] matlab数据分析
· MATLAB IF-ELSE-END 结构
· MATLAB While 循环
· MATLAB For 循环
· MATLAB字符串函数
· MATLAB字符串转换
· MATLAB字符串
· [图文] MATLAB关系与逻辑函数
MATLAB 概 论
作者:佚名  来源:不详  发布时间:2005-3-26 10:49:57  发布人:admin

减小字体 增大字体


1.1 MATLAB 的发展历程和影响

    MATLAB 名字由 MATrix 和 LABoratory 两词的前三个字母组合而成。那是 20 世纪七十年代后期的事:时任美国新墨西哥大学计算机科学系主任的 Cleve Moler 教授出于减轻学生编程负担的动机,为学生设计了一组调用 LINPACK 和 EISPACK 库程序的“通俗易用”的接口,此即用 FORTRAN 编写的萌芽状态的 MATLAB 。

    经几年的校际流传,在 Little 的推动下,由 Little 、 Moler 、 Steve Bangert 合作,于 1984 年成立了 MathWorks 公司,并把 MATLAB 正式推向市场。从这时起, MATLAB 的内核采用 C 语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。

    MATLAB 以商品形式出现后,仅短短几年,就以其良好的开放性和运行的可靠性,使原先控制领域里的封闭式软件包(如英国的 UMIST ,瑞典的 LUND 和 SIMNON ,德国的 KEDDC )纷纷淘汰,而改以 MATLAB 为平台加以重建。在时间进入 20 世纪九十年代的时候, MATLAB 已经成为国际控制界公认的标准计算软件。

    到九十年代初期,在国际上 30 几个数学类科技应用软件中, MATLAB 在数值计算方面独占鳌头,而 Mathematica 和 Maple 则分居符号计算软件的前两名。 Mathcad 因其提供计算、图形、文字处理的统一环境而深受中学生欢迎。

    MathWorks 公司于 1993 年推出 MATLAB4.0 版本,从此告别 DOS 版。 4.x 版在继承和发展其原有的数值计算和图形可视能力的同时,出现了以下几个重要变化:( 1 )推出了 SIMULINK 。这是一个交互式操作的动态系统建模、仿真、分析集成环境。它的出现使人们有可能考虑许多以前不得不做简化假设的非线性因素、随机因素,从而大大提高了人们对非线性、随机动态系统的认知能力。( 2 )开发了与外部进行直接数据交换的组件,打通了 MATLAB 进行实时数据分析、处理和硬件开发的道路。( 3 )推出了符号计算工具包。 1993 年 MathWorks 公司从加拿大滑铁卢大学购得 Maple 的使用权,以 Maple 为“引擎”开发了 Symbolic Math Toolbox 1.0 。 MathWorks 公司此举加快结束了国际上数值计算、符号计算孰优孰劣的长期争论,促成了两种计算的互补发展新时代。( 4 )构作了 Notebook 。 MathWorks 公司瞄准应用范围最广的 Word ,运用 DDE 和 OLE ,实现了 MATLAB 与 Word 的无缝连接,从而为专业科技工作者创造了融科学计算、图形可视、文字处理于一体的高水准环境。

    1997 年仲春, MATLAB5.0 版问世,紧接着是 5.1 、 5.2 ,以及和 1999 年春的 5.3 版。与 4.x 相比,现今的 MATLAB 拥有更丰富的数据类型和结构、更友善的面向对象、更加快速精良的图形可视、更广博的数学和数据分析资源、更多的应用开发工具。(关于 MATLAB5.x 的特点下节将作更详细的介绍。)

    诚然,到 1999 年底, Mathematica 也已经升到 4.0 版,它特别加强了以前欠缺的大规模数据处理能力。 Mathcad 也赶在 2000 年到来之前推出了 Mathcad 2000 ,它购买了 Maple 内核和库的部分使用权,打通了与 MATLAB 的接口,从而把其数学计算能力提高到专业层次。但是,就影响而言,至今仍然没有一个别的计算软件可与 MATLAB 匹敌。

    在欧美大学里,诸如应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教科书都把 MATLAB 作为内容。这几乎成了九十年代教科书与旧版书籍的区别性标志。在那里, MATLAB 是攻读学位的大学生、硕士生、博士生必须掌握的基本工具。

    在国际学术界, MATLAB 已经被确认为准确、可靠的科学计算标准软件。在许多国际一流学术刊物上,(尤其是信息科学刊物),都可以看到 MATLAB 的应用。

    在设计研究单位和工业部门, MATLAB 被认作进行高效研究、开发的首选软件工具。如美国 National Instruments 公司信号测量、分析软件 LabVIEW , Cadence 公司信号和通信分析设计软件 SPW 等,或者直接建筑在 MATLAB 之上,或者以 MATLAB 为主要支撑。又如 HP 公司的 VXI 硬件, TM 公司的 DSP , Gage 公司的各种硬卡、仪器等都接受 MATLAB 的支持。


1.2 MATLAB 5.3 的基本组成和特点

    经过近 20 年实践,人们已经意识到: MATLAB 作为计算工具和科技资源,可以扩大科学研究的范围、提高工程生产的效率、缩短开发周期、加快探索步伐、激发创造活力。那末,作为当前最新版本的 MATLAB 5.3 究竟包括哪些内容?有哪些特点呢?     
1.2.1 MATLAB 的语言部分

    5.0 以前版本的 MATLAB 语言比较简单。它只有双精度数值和简单字符串两种数据类型,只能处理 1 维、 2 维数组。它的控制流和函数形式也都比较简单。这一方面与当时软件的整体水平有关,另方面与 MATLAB 仅限于数值计算和图形可视应用的设计目标有关。

    从 5.0 版起, MATLAB 对其语言进行了根本性的变革,使之成为一种高级的“阵列”式语言。

1.2.1.1 MATLAB 语言的传统优点

    MATLAB 自问世起,就以数值计算称雄。 MATLAB 进行数值计算的基本处理单位是复数数组(或称阵列),并且数组维数是自动按照规则确定的。这一方面使 MATLAB 程序可以被高度“向量化”,另方面使用户易写易读。

    比如已知 的采样数据是 维数组,要计算 。对一般的计算语言来说,必须采用两层循环才能得到结果。这不但程序复杂,而且那讨厌的循环十分费时。 MATLAB 处理这类问题则简洁快捷得多,它只需直截了当的一条指令 y = exp(-2*t).*sin(5*t) ,就可获得同样是 维的 数组。这就是所谓的“数组运算”。这种运算在信号处理和图形可视中,将被频繁使用。
又如对于求解 代数方程问题。教科书的基本叙述:当 是标量时, ;当 是非奇异矩阵时, ;当 是行数大于列数的满秩阵时, ;当 的列数大于行数时, 有无数解。一般程序就必须按以上不同情况进行编程。然而对 MATLAB 来说,那只需一条指令: x=A\b 。指令是简单的,但其内涵却远远超出了普通教科书的范围,其计算的快速性、准确性和稳定性都是普通程序所远不及的。

1.2.1.2 5.3 的语言新特点

    (1)数据类型和面向对象编程技术

    MATLAB5.x 版与旧版最显著的不同在于数据类型的变化。 5.x 版现有六种基本数据类型:双精度数组、字符串数组、元胞数组、构架数组、稀疏矩阵和 unit8 数据。

    数据类型的变革,面向对象编程技术的采用,所产生的影响是广泛而深层的。这种影响首先表现在 MATLAB 的自身。从 5.0 版起, MATLAB 就用新数据类型逐步地对其自身的函数指令加以改造。这个过程一直延续到 5.3 版才基本完成。比如 5.3 版就推出了一组名称全新(求取极小值等)的泛函指令,它们优化参数的设置是采用构架数组进行的。再如 5.x 版提供的常微分方程解算指令 ODE Solver 的参数设置也全是靠新数据类型进行的。

    新数据类型和面向对象技术的影响之二:若干通用工具包的相应升级。以符号计算为例,在 MATLAB 4.2c 中, Symbolic Math Toolbox 1.0 版处理符号计算的指令形式与数值计算指令形式很不协调,显得十分生硬。比如,符号矩阵的“四则”运算的旧版指令分别是 symadd , symsub , symmul 和 inverse 。但在 5.x 版中,符号工具包已升级为 2.0 版,新的“四则”符号运算指令形式上与数值计算完全相同,它们分别是 + , - , * , / 。新的符号计算形式已被改造得与“ MATLAB 风格数值计算形式”浑然统一。

    新数据类型和面向对象技术影响之三:一系列的应用工具包相继升级。这不仅使应用工具包表现更为友善,而且功能大大加强。以控制工具包为例,新版利用构架数组和重载技术,把线性时不变系统( Linear Time-Invariant system )设计为“ LTI 对象”。这样处理后,不管 LTI 是由传递函数产生、由零极点增益方式产生,还是由状态方程形式创建,只要是 LTI 对象,它们之间就可方便地进行各种数学运算。比如在控制教科书上,由前向控制环节 、对象 、反馈环节 组成的负反馈闭环系统传递函数 。假如 都是用传递函数,那末读者“手算”时,必须进行多项式展开、乘法 、合并、简化等运算。如果利用“旧版 MATLAB ”求 ,那末必须先使用 series 指令把 串接成“中间”函数 ,然后再用 feedback 指令由 算得 。然而“新版 MATLAB ”只需直截了当的一条指令 G=G0*G1/(1+G0*G1*G2) ,并且式中的 G0 , G1 , G2 的表达形式可以各不相同,任取传递函数、零极点增益、状态方程等形式。当然 LTI 的优点远不至此,比如它还可直接对多输入多输出系统进行统一运算,而无须分解成若干个子系统进行。

    (2)控制流和函数类型

    新版 MATLAB 的控制流新增了多分支结构 switch-case 、 try-catch 结构和警告提示指令 error 、 warning 。这进一步提高了程序的可读性和运行可靠性。

    新版的函数类型大大丰富,适应编制和管理复杂程度不同的程序。例如内联函数比较简练,适用于各类比较简单数学模型。而子函数、私用函数的增添,使得复杂函数比较容易组织,既提高了软件的“重用度”,又避免了众多内存变量名的冲突、庞大工具库的函数名冲突。

    为函数设计了新的变长度输入输出宗量 varagin 、 varagout 。采用了这种变长度宗量, MATLAB 自身的新版指令被进一步“柔性化”。一个指令可以接受任意多个输入宗量,可以产生任意多个输出宗量,以适应不同场合的需要。可使得所有这些措施使得 MATLAB 能更加便捷地编制复杂的大型程序。当然,用户也可以借助这种变长度宗量来编制灵活多变的应用程序。

1.2.2 MATLAB 的工作环境

    所谓工作环境是指:帮助系统、工作内存管理、指令和函数管理、搜索路径管理、操作系统、程序调试和性能剖析工具等。

1.2.2.1 传统工作环境

    与同时期其他数学类软件相比,旧版 MATLAB 的工作环境虽属比较友善之列,但其工作环境确实比较“单调”。它的帮助系统是“纯文本”形式的;内存管理、路径管理、调试工具是单纯指令操纵形式的;文件类型也形式单一,仅有 M 文件和 MAT 文件。 4.2c 版情况开始变化,但那只是过渡形式。

1.2.2.2 5.3 工作环境新特点

    (1)大量引入图形用户界面

    5.x 版改变了过去单调依靠“在指令窗通过纯文本形指令进行各种操作”面貌,引入了许多让使用者一目了然的图形界面,如在线帮助的交互型界面 helpwin ,管理工作内存的 workspace ,交互式的路径管理界面 pathtool ,指令窗显示风格设置界面等。它们的开启方式有:工具条图标开启、选择菜单项开启,直接“文本式”指令开启。

    5.3 版更进一步把图形显示窗改造成了交互操作的可编辑图形界面。

    (2)引入了全方位帮助系统

    “临场”在线帮助:这些帮助内容,大多嵌附在 M 文件中,即时性强,反应速度快。它对求助内容的回答最及时准确。 MATLAB 旧版就一直采用这种帮助系统,并深受用户欢迎。新版保留原功能的同时,还新增一个内容与之完全对应的图形界面 helpwin ,加强了对用户的向导。

    综合型在线帮助文库 helpdesk :该文库以 HTML 超文本形式独立存在。整个文库按 MATLAB 的功能和核心内容编排,系统性强,且可以借助“超链接”方便地进行交叉查阅。但是,这部分内容偶而发生与真实 M 文件脱节的现象。

    完整易读的 PDF 文档:这部分内容与 HTML 帮助文库完全对应。 PDF 文档不能直接从指令窗中开启,而必须借助 Adobe Acrobat Reader 软件阅读。这种文件的版面清楚、规范,适宜有选择地系统阅读,也适宜于制作硬拷贝。

    演示软件 demo :这是一个内容广泛的演示程序。 MATLAB 一向重视演示软件的设计,因此无论 MATLAB 旧版还是新版,都随带各自的演示程序。只是,新版内容更丰富了 。

    (3) M 文件编辑、调试 的集成环境

    新的编辑器有十分良好的文字编辑功能。它可采用色彩和制表位醒目地区分标识程序中不同功能的文字,如运算指令、控制流指令、注释等。通过编辑器的菜单选项可以对编辑器的文字、段落等风格进行类似 Word 那样的设置。

    从 5.2 版起,还新增了“变量现场显示”功能,只要把鼠标放在变量名上( Mouse over ),就能在现场显示该变量的内容。

    在 5.x 版中,调试器已经被图形化,它与编辑器集成为一体。只需点动交互窗上的调试图标就可完成对程序的调试。

    (4) M 文件的性能剖析

    调试器只负责 M 文件中语法错误和运行错误的定位,而性能剖析指令 profile 将给出程序各环节的耗时分析报告。 5.3 版剖析指令的分析报告特别详细,它将帮助用户寻找影响程序运行速度的“瓶颈”所在,以便改进。

    (5) Notebook 新的安装方式

    从 4.2c 版引入 Notebook 以来,这种集文字、计算、图形于一体的“活”环境就深受用户赞赏。但直到 5.2 版至, Notebook 的安装都是与 MATLAB 的安装同步进行的。这种安装方式的不便之处是:一旦 Word 发生变动,就必须把 MATLAB 全盘重装。 5.3 版改变了这种局面,它可以在 MATLAB 指令窗中“随时”进行安装 Notebook ,省时灵活。

    (6) MATLAB 环境可运行文件的多样化

    旧版中,用户可编制和运行的程序文件只有 M 脚本文件和 M 函数文件。 5.x 版新增了产生伪代码 P 文件的 pcode 指令和产生二进制 MEX 文件的 mex 指令。较之 M 文件,这两种文件的运行速度要快得多,保密性也好。

1.2.3 MATLAB 的图视系统
1.2.3.1 传统的图形表现力

    MATLAB 的图形可视能力在所有数学软件中是首屈一指的。 MATLAB 的图形系统有高层和低层两个部分组成。高层指令友善、简便;低层指令细腻、丰富、灵活。

    一般说来,不管二元函数多么复杂,它的三维图形,仅需 10 条左右指令,就能得到富于感染力的表现。数据和函数的图形可视手段包括:线的勾画、色图使用、浓谈处理、视角选择、透视和裁剪。 MATLAB 有比较完备的图形标识指令,它们可标注:图名、轴名、解释文字和绘画图例。

1.2.3.2 5.3 版的图视新特点

    (1) 5.3 版的可编辑图形窗

    对一般用户来说,在使用 MATLAB5.3 版图形功能时,感受最强烈的变化是图形窗。此前的图形窗只具单纯的显示功能。 5.3 版则不同,它是可编辑的图形显示窗。在 5.3 的图形窗里,只需点动工具图标或菜单选项,就可直接对显示图形的各种“对象属性”进行随心所欲的设置,可交互式地改变线条型式、粗细、颜色,可动态地变换观察视角,可在图形窗随意位置标识文字或子图。 5.3 版图形窗是十分成功的“图柄”操作的图形用户界面。

    (2) 5.x 版的 Tex 特殊字符集

    图形功能的另一个较大变化是标识能力的大大增强。具体表现:一,引进 Tex 特殊字符子集,可标注如 ∑ 等数学字符;二,可书写上下标;三,可对英文、中文进行字体形式和大小的设置。四,可采取多种方式进行多行文字注释。

    (3) 5.x 版的简捷绘图指令

    这组指令的特点是“指令的前两个字母是 ez ”,英文含义是“ Easy to ”。这组指令有两个功能:一,直接表现用字符串描写的函数图形;二,与符号计算配套使用,作为符号计算结果的图形可视工具。

    这种指令的使用方法极其简单。例如使用一条指令 ezsurf('y/(1+x^2+y^2)') 就可以绘制二元函数 的曲面。

    这组指令与普通“数值型”绘图指令起着互为补充的作用。假若就方便易用排序,简捷指令最方便,普通“数值型”绘图指令次之,低层指令最繁;假若就绘图的细致和个性化能力排序,那末低层指令最强,简捷指令最弱。

    (4) 5.x 版增强了高层绘图指令的排版能力

    新版在同一图形窗口中可设置大小不同、非等距排列的任意个子图,而旧版只能开设面积等分的子图。新版可以在同一图形中使用两套不同的坐标系统,而旧版不能。

    (5) 5.x 版新增的其他高层绘图指令

    增添了主要用于表现统计数据的面域图 area , 水平直方图 barh , 三维直方图 bar3 , bar3h , 二维、三维饼图 pie , pie3 , 三维杆图 stem3 等;新增了四维数值表现力更强的切片等位线图 slicecontour ;改造了切片图 slice ,允许任意设置切面;新增了表现不规则数据点的三维网线和曲面图 trimesh , trisurf ;新增了若干色图函数,如 spring , summer , autumn , winter 等;增加了表现数据点的 8 种新“点型”。

    (6) 5.x 版读写图象文件能力的加强

    旧版 MATLAB 能读写的图象文件类型比较狭窄。新版能够读写的文件格式有: bmp , hdf , jpg , jpeg , pex , tif , tiff , xwd 等。这无疑为进一步开拓图象处理方面的应用程序提供了更好的条件。

    (7) 5.x 版低层指令结构的改变和能力的加强

    “轴”对象上新增的“子对象” light 。该对象的增设,再配合增强了的光照模式 lighting 和控制光线反射的材质指令 material ,使得图形表现具真实感。

    “轴”新增的照相机属性和投影属性,能更好地满足人们的视觉要求。

    “面”对象的面色属性可以采用纹理影射技术,从而可以在各种形状曲面上彩绘各种图象,或表现表面的凹凸不平、材料纹路。

    (8) 5.3 版的图形用户界面 GUI 制作工具

    从 4.2c 版起, MATLAB 就开始向用户提供制作 GUI 的指令,但十分稚嫩。随 5.0 , 5.1 , 5.2 版的升级, GUI 制作工具不断改进。现在 5.3 版中:不仅可以制作位置固定的用户菜单 uimenu ,而且可以制作位置不固定的“现场”菜单( Context menu );用户控件 uicontrol 已增加到 10 种;不管是菜单,还是控件,都可以进行“使能”和“可见性”控制。

    MATLAB 向用户提供两种制作 GUI 的途径:依靠指令制作 GUI ;借助交互式工具 guide 制作 GUI 。这两种方法各有优缺点:前者灵活、细致;后者直观、全局观念强。用户交替运用这两种制作手段,可高效地制作 GUI ,开发出各种生动活泼的应用程序。

1.2.4 MATLAB 的数学函数库
1.2.4.1 世界一流水平的数值计算函数库

    MATLAB 自问世起,就抱定一个宗旨:其所有数值计算算法都必须是国际公认的、最先进的、可靠算法;其程序由世界一流专家编制,并经高度优化;而执行算法的指令形式则必须简单、易读易用。 MATLAB 正是仰赖这些高质量的数值计算函数赢得了声誉。

    MATLAB 数值计算函数库的另一个特点是其内容的基础性和通用性。它正由于这一特点,而适应了诸如自动控制、信号处理、动力工程、电力系统等应用学科的需要,并进而开发出一系列应用工具包。

    在整个 MATLAB 的发展过程中,这数值计算函数库,从内容到形式,变化最小。

1.2.4.2 5.x 版函数库的变化

    (1) 5.x 版新增的常微分方程解算程序

    5.x 版 MATLAB 数值计算方面的最大变化是增添了一组常微分方程数值解算程序 ODE Solver 。这组解算程序无论是算法还是软件结构都十分精良,它包含 ode23 , ode45 , ode113 , ode23t ,ode15s , ode23s , ode23tb 等不同解算指令,用以解算包括 Stiff 方程在内的各种微分方程。

    MATLAB5.x 为解 ODE 问题所设计的文件十分严整,包括解算指令 Solver 、被 Solver 调用的微分方程描述文件、进行积分算法参数设置的 odeset 和 odeget 、解算输出指令 odeplot , odephas2 等。

    (2) 5.x 新增的其他数值计算指令

    5.x 版新增的许多计算指令与数值计算方面的最新成就直接相关。举例来说,新版及时的增添了广义奇异值计算指令 gsvd ;高维快速 Fourier 变换和反变换 fftn , ifftn ;高维插值指令 interpn 等。

1.2.4.3 5.x 版的符号计算工具包

    关于符号计算和数值计算优劣的争论曾经历过一段时间,但那是 20 世纪九十年代以前的事。 MathWorks 公司打破门户之见,把 MAPLE 的内核和数学函数库引入了 MATLAB ,从而使 MATLAB 具有了数值和符号双重计算能力。用户可以视具体问题而进行适当的选择。比如,对于比较复杂的“初值类”非线性微分方程,有时符号计算或无法解、或求解时间太长,而数值算法却比较有效;反之,对于边值类微分方程,数值算法的实现可能比较繁琐,而符号计算有时倒比较简便。

    MAPLE 的函数库十分庞大,包含 2000 多个函数。它几乎囊括了一般用户所需的所有函数。与 5.x 版 MATLAB 配用的 Symbolic Math Toolbox 2.0 允许用户在三个不同层次上符号计算。第一层次是,在进行符号对象定义后,直接利用 MATLAB 格式进行矩阵分解、微分、积分、积分变换、代数方程求解、微分方程求解等运算。第二层次是,借助 maple 指令,把单个 MAPLE 格式的指令送往 MAPLE 引擎计算。第三层次是,借助 procread 把整段 Maple 程序送往 MAPLE 计算。

1.2.5 MATLAB 与外部程序的交互

    MATLAB 的卓越性能引发了用户的新需求:希望把在 MATLAB 环境中编制的程序开发成能脱离 MATLAB 独立运行的程序;希望能在外部程序中调用 MATLAB 作为计算引擎。需求决定商品,市场也真出现了诸如 Mediva 等商品软件,能把 MATLAB 的 M 文件转变为独立于平台的 EXE 可执行文件;出现许多专用软件把 MATLAB 直接当计算引擎使用。鉴于此, MATLAB 在 4.x 版时代的后期,就尝试性地推出了自己的编译器。

1.2.5.1 与 5.3 版配用的编译器 Compiler 2.0

    伴随 MATLAB5.0 版向 5.3 版升级的过程中,变化较大,更新较快的是 MATLAB 编译器。与 5.2 版配用的是 Compiler 1.2 版,而与 5.3 版配用的则是 Compiler 2.0 版、 2.0.1 版。

    无论是 1.2 版编译器,还是 2.0 版编译器,它们都不但可以把全 M 函数文件编译成独立应用程序,而且也可以把 C 或 FORTRAN 程序与 M 文件混编成独立应用程序。这种程序的优点是:一,可以脱离 MATLAB 环境独立运行;二,运行速度快。

    MATLAB 编译器无疑给用户开发计算类 EXE 可执行程序提供了快捷、高效的工具。举例来说,假如用户想编制一个求解各类线性代数方程的可独立执行的程序,用户只要先在 MATLAB 环境中编写由 30 来条指令组成的 M 函数文件,然后借助编译器把它变成独立执行的 EXE 程序。这 EXE 文件不但可以计算“恰定”方程,而且可以解算“超定”、“欠定”方程。值得指出:原 M 文件是不过 2K 字节的小小程序。而编译生成的 EXE 文件却超过 200K 字节,这可是一个不算小的程序。

    与 1.2 版相比, 2.0 版编译器具有处理高维数组、元胞数组、构架数组的能力,支持变长度输入输出宗量,支持多分支等控制流。

1.2.5.2 5.x 版的 API 应用程序接口

    与 MATLAB 编译器相比, MATLAB 的 API 应用程序接口问世得更晚,也更不成熟。 MATLAB API 由一系列接口指令组成。借助这些接口指令,用户就可在 C 或 FORTRAN 中,或直接读写 MATLAB 的 MAT 数据文件,或把 MATLAB 当作计算引擎使用。

1.3 与 MATLAB 5.3 配用的 SIMULINK3.0

    SIMULINK 是 MathWorks 公司开发的又一个产生重大影响的软件产品。它的前身 SIMULIB 问世于 20 世纪九十年代初,以工具库的形式挂接在 MATLAB 3.5 版上。以 SIMULINK 名称广为人知,是在 MATLAB 4.2x 版时期。 SIMULINK 不能独立运行,而只能在 MATLAB 环境中运行。现在较为流行的有:与 MATLAB5.2 版配用的 SIMULINK2.2 ;与 MATLAB5.3 版配用的 SIMULINK3.0 。

1.3.1 SIMULINK 的传统优点

    不管是什么版本, SIMULINK 总由模块库、模型构造及分析指令、演示程序等三部分组成。在 SIMULINK 环境中,对于由微分方程或差分方程描写的动态系统,用户无须编写文本形式的程序,而只要通过一些简单的鼠标操作就可形象地建立起被研究系统的数学模型,并进行仿真和分析研究。

    举例来说,面对一个由微分方程描写的动态系统,用户有如下三个研究途径:一,直接利用 ODE Solver 数值解算指令编写表示那系统的 M 文件;二,利用符号计算指令编写相应的程序;三,在 SIMULINK 环境中建立那系统的方块图模型。三者比较而言, SIMULINK 是最合适、最方便、最直观的研究环境。在 SIMULINK 中,那些以往不得不忽略的非线性、随机干扰等因素的影响也十分容易研究。

1.3.2 SIMULINK 3.0 的特点

    (1) SIMULINK 系列软件产品

    经过几年的努力, MathWorks 公司已经把 SIMULINK 发展成一个系列产品。例如,它与 Stateflow 状态流配合,可以建立更清晰的离散事件系统的概念化模型;与 Real-Time Workshop 配合可产生进行实时仿真和运行于各种硬件的 C 码;与 DSP Blockset 配用可以进行 DSP 装置和系统的快速设计和仿真。 SIMULINK 在 Communication Toolbox 、 Nonlinear Control Design Blockset 、 Power System Blockset 等专业工具包的配合下,就可对通信系统、非线性控制系统、电力系统进行深入的建模、仿真和分析研究。

    (2) SIMULINK3.0 的模型库

    与以前版本相比, SIMULINK3.0 版本体模型库的结构已彻底改变。原先是子库分层的块图结构,现在是树状的文件夹形式,并且旧版中只有部分子库与新版文件夹对应。

    与 SIMULINK3.0 版配用的工具包显著增加。新版除把原 2.2 版 12 个应用子库改造为 12 个文件夹之外,又增添了 2 个新文件夹。

    (3)模块的“使能”和“触发”功能

    从 2.x 版起, SIMULINK 增设了“使能”和“触发”功能。这就为 SIMULINK 进行离散事件系统的仿真打下了基础。借助“使能”和“触发”功能,用户可以建立各种根据状态组合和迁移改变模型结构的复杂系统。

[] [返回上一页] [打 印] [收 藏]
上一篇教程:matlab调试工具
∷相关教程评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
  评论人:传世私服   打分:85 分  发表时间:2007-4-7 15:15:32
· [url=http://www.82734.com]传世私服[/url] 
  评论人:传奇世界私服   打分:85 分  发表时间:2007-4-7 15:15:11
· [url=http://www.68217.com]传奇世界私服[/url] 
 
Copyright © 2000-2006 18839.Com. All Rights Reserved .
EMAIL:webmaster@18839.com 联系QQ:63191918 苏ICP备05065193号 带宽支持:三九互联