
matlab简介
-
2023年3月1日发(作者:教代会提案)MATLAB简介
MATLAB简介
MATLAB的名称源自MatrixLaboratory,它是一种科学计算软件,
专门以矩阵的形式处理数据。MATLAB将高性能的数值计算和可视化集成在一
起,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信
息处理等领域的分析、仿真和设计工作,而且利用MATLAB产品的开放式结
构,可以非常容易地对MATLAB的功能进行扩充,从而在不断深化对问题认
识的同时,不断完善MATLAB产品以提高产品自身的竞争能力。
目前MATLAB产品族可以用来进行:
•数值分析
•数值和符号计算
•工程与科学绘图
•控制系统的设计与仿真
•数字图像处理
•数字信号处理
•通讯系统设计与仿真
•财务与金融工程
MATLAB产品家族的构成见上图,下面对各个组成部分进行介绍:
MATLAB是MATLAB产品家族的基础,它提供了基本的数学算法,例
如矩阵运算、数值分析算法,MATLAB集成了2D和3D图形功能,以完成相
应数值可视化的工作,并且提供了一种交互式的高级编程语言——M语言,利
用M语言可以通过编写脚本或者函数文件实现用户自己的算法。
Stateflow是一个交互式的设计工具,它基于有限状态机的理论,可以用
来对复杂的事件驱动系统进行建模和仿真。Stateflow与Simulink和MAT
LAB紧密集成,可以将Stateflow创建的复杂控制逻辑有效地结合到Simul
ink的模型中。
在MATLAB产品族中,自动化的代码生成工具主要有Real-TimeWo
rkshop(RTW)和StateflowCoder,这两种代码生成工具可以直接将S
imulink的模型框图和Stateflow的状态图转换成高效优化的程序代码。利
用RTW生成的代码简洁、可靠、易读。目前RTW支持生成标准的C语言代
码,并且具备了生成其他语言代码的能力。整个代码的生成、编译以及相应的
目标下载过程都可以自动完成,用户需要做的仅仅使用鼠标点击几个按钮即可。
MathWorks公司针对不同的实时或非实时操作系统平台,开发了相应的目标
选项,配合不同的软硬件系统,可以完成快速控制原型(RapidControlPr
ototype)开发、硬件在回路的实时仿真(Hardware-in-Loop)、产品代
码生成等工作。
另外,MAT
LAB开放性的可
扩充体系允许用
户开发自定义的
嵌入式系统目
标,利用Real-
TimeWorks
hopEmbedd
edCoder能够
直接将Simulin
k的模型转变成
效率优化的产品
级代码。代码不
仅可以是浮点的,还可以是定点的。
MATLAB开放的产品体系使MATLAB成为了诸多领域的开发首选软件,
并且,MATLAB还具有300余家第三方合作伙伴,分布在科学计算、机械动
力、化工、计算机通讯、汽车、金融等领域。接口方式包括了联合建模、数据
共享、开发流程衔接等等。
MATLAB结合第三方软硬件产品组成了在不同领域内的完整解决方案,
实现了从算法开发到实时仿真再到代码生成与最终产品实现的完整过程。
主要的典型应用包括:
•控制系统的应用与开发——快速控制原型与硬件在回路仿真的统一平台
Concurrent、A&D、NI;
•信号处理系统的设计与开发——全系统仿真与快速原型验证,TIDSP、
Lyrtech等信号处理产品软硬件平台;
•通信系统设计与开发——结合RadioLab3G和Candence等产品;
•机电一体化设计与开发——全系统的联合仿真,结合Easy5、Adams
等。
Simulink基础平台
Simulink®
——基于模型的设计、仿真工具
Simulink是用来建模、分析和仿真各种动态系统的交互环境,包括连续
系统,离散系统和混合系统。Simulink提供了采用鼠标拖放的方法建立系统
框图模型的图形交互平台。通过Simulink提供的丰富的功能块,可以迅速地
创建动态系统模型。同时Simulink还集成了Stateflow,用来建模、仿真
复杂事件驱动系统的逻辑行为。另外,Simulink也是实时代码生成工具Rea
l-TimeWorkshop的支持平台。
特点
•丰富的可扩充的预定义模块库;
•交互式的图形编辑器;
•模型分割实现复杂模型的管理;
•通过ModelExplorer导航、配置、搜索模型中的任意信号、参数、
属性;
•支持M语言和C语言方式的功能模块扩展;
•进行系统交互式或批处理式仿真;
•支持交互式定义输入和浏览输出;
•图形化调试工具检查和诊断模型行为;
•通过MATLAB进行数据分析和可视化数据,开发图形用户界面,以及
创建模型数据、参数;
•提供模型分析和诊断工具。
ModelExplorer工具
强大功能
基于模型的系统设计
Simulink是层次化建模工具,数据管理工具,定制子系统工具。无论工
程师的系统有多复杂,都可以轻松完成简明精确的模型描述。Simulink包括
超过一千个模块以实现对构建系统常用的应用函数的描述。它们包括:
•连续、离散动态系统模块。例如:积分和单位延迟模块
•算法模块。例如:加法、乘法和查表模块
•结构模块。例如:mux,switch和信号和总线选择
•特定领域的应用。例如:航空航天,通讯,信号处理,机械,电力……
•采用MATLAB,FORTRAN、Ada和C代码生成自定义模块
•基于模型和单个模块的完善的CallBack机制,允许用户对模型的仿真
过程进行定制
Simulink模型中可以包括用M语言写的模块,并且支持代码生成
模型的组织
•Simulink通过信号及子系统打包模块达到模型层次化管理的目的
•Simulink支持模型功能分解
•Simulink支持模型分割
•Simulink模型支持版本管理以及需求管理
在Simulink模型中使用模型引用
模型信号和参数的管理
Simulink允许定义和控制模型的信号、参数。用户可以定义如下的信号、
参数属性:
•数据类型——单精度浮点,双精度浮点,8,16或32位整型(有符号
或无符号);定点数据和布尔数据
•维数——标量,矢量,矩阵
•实复数特性——实数、虚数或复数
•数值范围和单位
•采样类型——基于采样、基于帧
使用Simulink数据对象,用户可以定义总线信号、数据结构以及用户自
定义的数据类型。用户可以通过局部工作空间限制定义的数据属性的仅适用于
模型的特定部分。数据对象通过M语言脚本或在ModelExplorer的数据字
典中配置。
调试系统仿真
•用户可以通过MATLAB命令行形式批量仿真
•SimulinkDebugger工具是一个交互式的调试Simulink模型的工
具。该工具可以设置断点,控制仿真的执行,显示模型的运行信息。
SimulinkDebugger工具
分析结果
Simulink提供了诸多工具用来分析模型,测试验证系统,可视化结果以
及模型的文档生成。
•可视化结果
用户可以通过Simulink提供的Display模块和Scopes模块观察信
号;也可以通过MATLAB可视化函数和GUI开发工具搭建定制的显示
模块;还可以把这些信号信息记录起来留待以后处理。为了对动态系统
复杂的3-D运动获得深层次的认识,用户可以结合虚拟现实模块(Virt
ualRealityBlocksets)进行可视化。
•测
试
验
证
模
型
oS
i
mulink包括了用于创建仿真测试用例的模块
oSingalBuilderblock模块通过图形方式创建方波来测试模
型
o使用Singal&ScopeManager工具,用户可以在不增加模块
的前提下插入信号到模型中
oSimulink还提供各种模型验证模块来验证模块的信号输出是否
符合设计需求
o模型、测试用例以及验证模块可以实现需求跟踪
•模型的文档生成
o添加文档到Simulink模型非常容易。注释可以直接加到模型中,
描述也可以以每个模块的属性的形式添加。
o通过DocBlock模块可以包括一个text文件作为模型中的一个
模块。
oSimulink提供了打印能力。通过一个命令,就可以打印描述了
全部模型信息的文档。
o通过使用SimulinkReportGenerator可以创建定制化的
报告,以满足特定文档标准的要求。
自动代码生成
Simulink模型可以通过Real-TimeWorkshop生成实时的标准C代
码,用于半物理仿真,快速原型和产品代码。使得用户可以完成从系统级仿真
到工程实现的无缝过渡。