MATLAB简介

发布时间:2020-03-18 18:36:43

MATLAB简介

      MATLAB的名称源自Matrix Laboratory,它是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,而且利用MATLAB产品的开放式结构,可以非常容易地对MATLAB的功能进行扩充,从而在不断深化对问题认识的同时,不断完善MATLAB产品以提高产品自身的竞争能力。



      目前MATLAB产品族可以用来进行:

数值分析

数值和符号计算

工程与科学绘图

控制系统的设计与仿真

数字图像处理

数字信号处理

通讯系统设计与仿真

财务与金融工程

      MATLAB产品家族的构成见上图,下面对各个组成部分进行介绍:

      MATLAB是MATLAB产品家族的基础,它提供了基本的数学算法,例如矩阵运算、数值分析算法,MATLAB集成了2D和3D图形功能,以完成相应数值可视化的工作,并且提供了一种交互式的高级编程语言——M语言,利用M语言可以通过编写脚本或者函数文件实现用户自己的算法。



       MATLAB Compiler是一种编译工具,它能够将那些利用MATLAB提供的编程语言——M语言编写的函数文件编译生成为函数库、可执行文件、COM组件等等,这样就可以扩展MATLAB功能,使MATLAB能够同其他高级编程语言例如C/C++语言进行混合应用,取长补短,以提高程序的运行效率,丰富程序开发的手段。



      利用M语言还开发了相应的MATLAB专业工具箱函数供用户直接使用。这些工具箱应用的算法是开放的可扩展的,用户不仅可以查看其中的算法,还可以针对一些算法进行修改,甚至允许开发自己的算法扩充工具箱的功能。目前MATLAB产品的工具箱有四十多个,分别涵盖了数据采集、科学计算、控制系统设计与分析、数字信号处理、数字图像处理、金融财务分析以及生物遗传工程等专业领域。



      Simulink是基于MATLAB的框图设计环境,可以用来对各种动态系统进行建模、分析和仿真,它的 建模范围广泛,可以针对任何能够用数学来描述的系统进行建模,例如航空航天动力学系统、卫星控制制导系统、通讯系统、船舶及汽车动力学系统等等,其中包括连续、离散,条件执行,事件驱动,单速率、多速率和混杂系统等等。Simulink提供了利用鼠标拖放的方法建立系统框图模型的图形界面,而且Simulink还提供了丰富的功能块以及不同的专业模块集合,利用Simulink几乎可以做到不书写一行代码完成整个动态系统的建模工作。



      Stateflow是一个交互式的设计工具,它基于有限状态机的理论,可以用来对复杂的事件驱动系统进行建模和仿真。Stateflow与Simulink和MATLAB紧密集成,可以将Stateflow创建的复杂控制逻辑有效地结合到Simulink的模型中。



      在MATLAB产品族中,自动化的代码生成工具主要有Real-Time Workshop(RTW)和Stateflow Coder,这两种代码生成工具可以直接将Simulink的模型框图和Stateflow的状态图转换成高效优化的程序代码。利用RTW生成的代码简洁、可靠、易读。目前RTW支持生成标准的C语言代码,并且具备了生成其他语言代码的能力。整个代码的生成、编译以及相应的目标下载过程都可以自动完成,用户需要做的仅仅使用鼠标点击几个按钮即可。MathWorks公司针对不同的实时或非实时操作系统平台,开发了相应的目标选项,配合不同的软硬件系统,可以完成快速控制原型(Rapid Control Prototype)开发、硬件在回路的实时仿真(Hardware-in-Loop)、产品代码生成等工作。



      另外,MATLAB开放性的可扩充体系允许用户开发自定义的嵌入式系统目标,利用Real-Time Workshop Embedded Coder能够直接将Simulink的模型转变成效率优化的产品级代码。代码不仅可以是浮点的,还可以是定点的。



      MATLAB开放的产品体系使MATLAB成为了诸多领域的开发首选软件,并且,MATLAB还具有300余家第三方合作伙伴,分布在科学计算、机械动力、化工、计算机通讯、汽车、金融等领域。接口方式包括了联合建模、数据共享、开发流程衔接等等。



      MATLAB结合第三方软硬件产品组成了在不同领域内的完整解决方案,实现了从算法开发到实时仿真再到代码生成与最终产品实现的完整过程。



      主要的典型应用包括:

控制系统的应用与开发——快速控制原型与硬件在回路仿真的统一平台Concurrent、A&D、NI;

信号处理系统的设计与开发——全系统仿真与快速原型验证,TI DSP、Lyrtech等信号处理产品软硬件平台;

通信系统设计与开发——结合RadioLab 3G和Candence等产品;

机电一体化设计与开发——全系统的联合仿真,结合Easy 5、Adams等。

Simulink基础平台

Simulink®

——基于模型的设计、仿真工具

      Simulink是用来建模、分析和仿真各种动态系统的交互环境,包括连续系统,离散系统和混合系统。Simulink提供了采用鼠标拖放的方法建立系统框图模型的图形交互平台。通过Simulink提供的丰富的功能块,可以迅速地创建动态系统模型。同时Simulink还集成了Stateflow,用来建模、仿真复杂事件驱动系统的逻辑行为。另外,Simulink也是实时代码生成工具Real-Time Workshop的支持平台。



特点

丰富的可扩充的预定义模块库;

交互式的图形编辑器;

模型分割实现复杂模型的管理;

通过Model Explorer 导航、配置、搜索模型中的任意信号、参数、属性;

支持M语言和C语言方式的功能模块扩展;

进行系统交互式或批处理式仿真;

支持交互式定义输入和浏览输出;

图形化调试工具检查和诊断模型行为;

通过MATLAB进行数据分析和可视化数据,开发图形用户界面,以及创建模型数据、参数;

提供模型分析和诊断工具。



Model Explorer工具

强大功能



基于模型的系统设计



      Simulink是层次化建模工具,数据管理工具,定制子系统工具。无论工程师的系统有多复杂,都可以轻松完成简明精确的模型描述。Simulink包括超过一千个模块以实现对构建系统常用的应用函数的描述。它们包括:

连续、离散动态系统模块。例如:积分和单位延迟模块

算法模块。例如:加法、乘法和查表模块

结构模块。例如:mux, switch 和信号和总线选择

特定领域的应用。例如:航空航天,通讯,信号处理,机械,电力……

采用MATLAB,FORTRAN、Ada和C代码生成自定义模块

基于模型和单个模块的完善的CallBack机制,允许用户对模型的仿真过程进行定制

 



Simulink模型中可以包括用M语言写的模块,并且支持代码生成

模型的组织

Simulink通过信号及子系统打包模块达到模型层次化管理的目的

Simulink支持模型功能分解

Simulink支持模型分割

Simulink模型支持版本管理以及需求管理



在Simulink模型中使用模型引用



模型信号和参数的管理



      Simulink允许定义和控制模型的信号、参数。用户可以定义如下的信号、参数属性:

数据类型——单精度浮点,双精度浮点, 8,16或32位整型(有符号或无符号);定点数据和布尔数据

维数——标量,矢量,矩阵

实复数特性——实数、虚数或复数

数值范围和单位

采样类型——基于采样、基于帧

      使用Simulink 数据对象,用户可以定义总线信号、数据结构以及用户自定义的数据类型。用户可以通过局部工作空间限制定义的数据属性的仅适用于模型的特定部分。数据对象通过M语言脚本或在Model Explorer的数据字典中配置。

调试系统仿真

用户可以通过MATLAB命令行形式批量仿真

Simulink Debugger工具是一个交互式的调试Simulink 模型的工具。该工具可以设置断点,控制仿真的执行,显示模型的运行信息。



Simulink Debugger工具

分析结果



      Simulink提供了诸多工具用来分析模型,测试验证系统,可视化结果以及模型的文档生成。

可视化结果

用户可以通过Simulink提供的Display模块和Scopes模块观察信号;也可以通过MATLAB可视化函数和GUI开发工具搭建定制的显示模块;还可以把这些信号信息记录起来留待以后处理。为了对动态系统复杂的3-D运动获得深层次的认识,用户可以结合虚拟现实模块(Virtual Reality Blocksets)进行可视化。

测试验证模型

o Simulink包括了用于创建仿真测试用例的模块

o Singal Builder block模块通过图形方式创建方波来测试模型

o 使用Singal&Scope Manager工具,用户可以在不增加模块的前提下插入信号到模型中

o Simulink还提供各种模型验证模块来验证模块的信号输出是否符合设计需求

o 模型、测试用例以及验证模块可以实现需求跟踪

模型的文档生成

o 添加文档到Simulink模型非常容易。注释可以直接加到模型中,描述也可以以每个模块的属性的形式添加。

o 通过DocBlock模块可以包括一个text文件作为模型中的一个模块。 

o Simulink提供了打印能力。通过一个命令,就可以打印描述了全部模型信息的文档。

o 通过使用Simulink Report Generator可以创建定制化的报告,以满足特定文档标准的要求。

自动代码生成



      Simulink模型可以通过Real-Time Workshop生成实时的标准C代码,用于半物理仿真,快速原型和产品代码。使得用户可以完成从系统级仿真到工程实现的无缝过渡。

MATLAB简介

相关推荐