第一章概述第一章概述1.1MATLAB产品族简介1.2MATLAB的桌面环境1.3CommandWindows和MATLAB指令1.4CommandHistory和历史记录1.5CurrentDirectory和搜索路径1.6LaunchPad和Start菜单1.7使用帮助1.8本章小结第一章概述1.1MATLAB产品族简介MATLAB的名称源自MatrixLaboratory,它的首创者是在数值线性代数领域颇有影响的CleveMoler博士,他也是生产经营MATLAB产品的美国Mathworks公司的创始人之一。MATLAB是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而使其被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作中,而且利用MATLAB产品的开放式结构,用户可以非常容易地对MATLAB的功能进行扩充,从而在不断深化对问题认识的同时,逐步完善MATLAB产品以提高产品自身的竞争能力。第一章概述MATLAB产品族可以用来进行如下工作:*数值分析;*数值和符号计算;*工程与科学绘图;*控制系统的设计与仿真;*数字图像处理;*数字信号处理;*通讯系统设计与仿真;*财务与金融工程。第一章概述1.1.1MATLAB的产品体系MATLAB产品由若干个模块组成,不同的模块完成不同的功能,其中有*MATLAB;*MATLABToolboxes;*MATLABCompiler;*Simulink;*SimulinkBlockset;*Real-TimeWorkshop(RTW);*Stateflow;*StateflowCoder。第一章概述其中,MATLAB是MATLAB产品家族的基础,它提供了基本的数学算法,例如矩阵运算、数值分析算法,MATLAB集成了2D和3D图形功能,以完成相应数值可视化的工作,并且提供了一种交互式的高级编程语言——M语言,利用M语言可以通过编写脚本或者函数文件实现用户自己的算法。第一章概述MATLABCompiler是一种编译工具,它能够将那些利用MATLAB提供的编程语言——M语言编写的函数文件编译生成标准的C/C++语言源文件,而生成的标准C/C++源代码可以被任何一种C/C++编译器编译生成函数库或者可执行文件,这样就可以扩展MATLAB功能,使MATLAB能够同其他高级编程语言(例如C/C++语言)进行混合应用,取长补短,以提高程序的运行效率,丰富程序开发的手段。MATLAB除了能够和C/C++语言集成开发以外,目前的MATLAB还提供了和Java语言接口的能力,并且它还支持COM标准,能够和任何一种支持COM标准的软件协同工作。另外,在Release13中,包含了MATLABCompiler的扩展产品——MATLABCOMBuilder和ExcelBuilder,分别用来将MATLAB的函数文件打包成COM组件或者Excel插件,将MATLAB应用程序算法集成到相应的开发工具或者应用软件中。第一章概述利用M语言还开发了相应的MATLAB专业工具箱函数供用户直接使用,这些工具箱应用的算法是开放的、可扩展的,用户不仅可以察看其中的算法,还可以针对一些算法进行修改,甚至允许开发自己的算法以便扩充工具箱的功能。目前MATLAB产品的工具箱有40多种,分别涵盖了数据获取、科学计算、控制系统设计与分析、数字信号处理、数字图像处理、金融财务分析以及生物遗传工程等专业领域。第一章概述MATLAB主要的专业工具箱包括以下几种。*数学与数据分析:OptimizationStaticsNerualNetworkSymbolicMathPartialDifferentialEquationMappingSplineCurveFittingVirtualRealityBioinforamtics第一章概述*数据获取与采集:DataAcquisitionImageAcquisitionInstrumentControlDatabaseExcel第一章概述*信号处理与图像处理:SignalProcessingImageProcessingCommunicationSystemIdentificationWaveletFilterDesignMATLABLinkforCodeComposerStudio第一章概述*控制系统设计与分析:ControlsystemFuzzyLogicRobustControlMu-AnalysisandSynthesisLMIControlModelPredictiveControlModel-BasedCalibration第一章概述*财经与金融:FinancialFinancialTimeSeriesGARCHDatafeedFinancialDerivativesFixedIncome第一章概述1.1.2Simulink简介Simulink是基于MATLAB的框图设计环境,可以用来对各种动态系统进行建模、分析和仿真,它的建模范围广泛,可以针对任何能够用数学来描述的系统进行建模,例如航空航天动力学系统、卫星控制制导系统、通讯系统、船舶及汽车等,其中包括连续、离散,条件执行、事件驱动、单速率、多速率和混杂系统等。Simulink提供了利用鼠标拖放的方法建立系统框图模型的图形界面,而且Simulink还提供了丰富的功能块以及不同的专业模块集合,利用Simulink几乎可以做到不书写一行代码就能完成整个动态系统的建模工作。此外,在Simulink基础上还提供了Stateflow,用来进行事件驱动过程的仿真。第一章概述Simulink的特点:*交互式建模:Simulink本身就提供了大量的功能块方便用户快速建立动态系统的模型,如图1-2所示,建模的时候只需要利用鼠标拖放功能块并将其连接起来即可。*交互式仿真:Simulink的框图提供可交互的仿真环境,可以将仿真结果动态显示出来,并且在各种仿真的过程中调节系统的参数。*任意扩充和定制功能:Simulink的开放式结构允许用户扩充仿真环境的功能,可以将用户利用C、C++、Fortran语言编写的算法集成到Simulink框图中。第一章概述图1-2Simulink的库浏览器第一章概述*与MATLAB工具集成:Simulink的基础是MATLAB,在Simulink框图中可以直接利用MATLAB的数学、图形和编辑功能,完成诸如数据分析、过程自动化分析、优化参数等工作。*专业模型库:为了扩展Simulink的功能,Mathworks公司针对不同的专业领域和行业开发了各种专业模型库,将这些模型库同Simulink的基本模块库结合起来,可以完成不同专业领域动态系统的建模工作。Simulink的相关产品以及专业模块如表1-1所示。第一章概述表1-1MATLAB中的Simulink相关模块产品名称描述Simulink图形化建模仿真环境SimulinkPerformanceTools性能优化调试工具SimulinkReportGeneratorSimulink自动文档生成工具Stateflow基于事件驱动的建模工具StateflowCoderStateflow的代码生成工具Real-TimeWorkshop实时代码生成工具Real-TimeEmbeddedCoder嵌入式实时代码生成选项Real-TimeWindowsTargetWindows环境下的实时代码生成选项xPCTarget基于xPC的实时代码生成选项xPCTargetEmbeddedOption嵌入式xPC实时代码选项EmbeddedTargetforMotorolaMPC555MotorolaMPC555的嵌入式代码生成选项EmbeddedTargetforTIC6000DSPTIC6000系列的嵌入式代码生成选项第一章概述表1-1MATLAB中的Simulink相关模块EmbeddedTargetforInfineonC166InfineonC166的嵌入式代码生成选项EmbeddedTargetforMotorolaHC12HC12的嵌入式代码生成选项EmbeddedTargetforOSEK/VDXOSEK操作系统的嵌入式代码生成选项AerospaceBlockset航空航天及国防专业模块库Fixed-PointedBlockset定点代码应用专业模块库DSPBlockset数字信号处理系统专业模块库CommunicationBlockset通讯系统仿真专业模块库CDMABlocksetIS95A通讯系统仿真专业模块库Dials&GaugesBlockset虚拟仪器仪表专业模块库NonlinearControlDesignBlockset非线性控制设计专业模块库SimMechanics机械系统仿真专业模块库SimPowerSystem电力电子系统仿真专业模块库VirtualRealityToolbox虚拟现实应用工具箱第一章概述1.1.4自动化代码生成工具在MATLAB产品族中,自动化的代码生成工具主要有Real-TimeWorkshop(RTW)和StateflowCoder,这两种代码生成工具可以直接将Simulink的模型框图和Stateflow的状态图转换成高效、优化的程序代码。利用RTW生成的代码简洁、可靠、易读。目前RTW支持生成标准的C语言代码,并且具备了生成其他语言代码的能力。整个代码的生成、编译以及相应的目标下载过程都是自动完成的,用户需要做的仅仅是使用鼠标点击几个按钮即可。Mathworks公司针对不同的实时或非实时操作系统平台开发了相应的目标选项,以配合不同的软、硬件系统完成快速控制原型(RapidControlPrototype)开发、硬件在回路的实时仿真(Hardware-in-Loop)、产品代码生成等工作。第一章概述1.2MATLAB的桌面环境在运行MATLAB之前首先要在自己的操作系统中安装MATLAB,目前MATLAB可以在Windows、Linux等操作系统中安装使用。如果读者使用Windows操作系统,则建议使用Windows2000或者WindowsXPProfessional版本作为MATLAB的运行平台。运行MATLAB时,可以双击MATLAB的图标,或者在命令行提示符(控制台方式)下键入指令:matlab,这时将启动MATLAB的图形桌面工具环境。第一章概述MATLAB的桌面环境可以包含多个窗口,这些窗口分别为历史命令窗口(CommandHistory)、命令行窗口(CommandWindow)、当前目录浏览器(CurrentDirectoryBrowser)、工作空间浏览器(WorkspaceBrowser)、目录分类窗口(LaunchPad)、数组编辑器(ArrayEditor)、M文件编辑器/调试器(Editor/Debugger)、超文本帮助浏览器(HelpNavigator/Browser),这些窗口都可以内嵌在MATLAB主窗体中,组成MATLAB的用户界面。其中当MATLAB安装完毕并首次运行时,展示在用户面前的界面为MATLAB运行时的缺省界面窗口,如图1-8所示。第一章概述图1-8MATLAB默认的用户界面第一章概述MATLAB6.5的缺省界面和MATLAB6.1的缺省界面相比还是有一定变化的,主要就是在界面的左下角有一个名为“Start”的启动菜单,在这个菜单中可以执行MATLAB产品的各种工具,并且可以查阅MATLAB包含的各种资源,它的功能和MATLAB的目录分类窗口(LaunchPad)功能非常类似。在默认的缺省用户界面中,新版本的MATLAB中没有了目录分类窗口(LaunchPad),而是工作空间浏览器(WorkspaceBrowser)。MATLAB启动的界面可以具有多种默认的选择,用户可以通过MATLAB界面中的“View”菜单下的“DesktopLayout”子菜单下的命令选择不同的MATLAB界面,这些命令