Simulink简介

Simulink® 是一个模块图环境,用于多域仿真以及基于模型的设计。它支持系统级设计、仿真、自动代码生成以及嵌入式系统的连续测试和验证。Simulink 提供图形编辑器、可自定义的模块库以及求解器,能够进行动态系统建模和仿真。Simulink 与 MATLAB® 相集成,这样您不仅能够在 Simulink 中将 MATLAB 算法融入模型,还能将仿真结果导出至 MATLAB 做进一步分析

Simulink® 是动态系统的图形建模和仿真环境。您可以创建模块图,用模块表示系统的各个组成部分。模块可以表示物理组件、小型系统或函数。输入/输出关系则完整描述了模块特征。请思考下面这些示例:

1: 一个水龙头往一个水桶里注入水 - 水以一定的流速进入水桶,水桶变重。模块可以表示水桶,水的流速为输入,水桶的重量为输出。

2: 您用扩音器传递声音 - 扩音器一端产生的声音在另一端被放大。扩音器是模块,输入是声源的声波,输出是您听到的声波。

3:您推动购物车使它移动 - 购物车是模块,您施加的力是输入,购物车的位置是输出。

只有定义了输入和输出,模块的定义才算完成,并且此模型定义任务需与建模目的相关。例如,如果建模目的不涉及购物车的位置,则会自然选择购物车的速度作为输出。

Simulink 提供了一些模块库,它们是按功能分组的模块集合。例如,要对以常量倍数放大输入的扩音器进行建模,可以使用 Math Operations 库中的 Gain 模块。

进入扩音器的声波作为输入,出来的同一声波的更大版本作为输出。
> 符号表示模块的输入和输出,可以连接到其他模块

是对系统各个组件随时间流逝的行为变化进行仿真。简单来讲就是:采用一个时钟,按时间确定各个模块的仿真顺序,并在仿真过程中依次将在上一个模块图中计算得出的输出传播到下一个模块,直至最后一个模块。以扩音器为例。在每个时间步,Simulink 都必须计算正弦波的值,将其传播给扩音器,然后计算输出值。

复制代码
信号 - 在仿真期间计算的模块输入和输出

状态 - 在仿真期间中计算的代表模块动态的内部值

参数 - 影响模块行为的值,由用户控制

在每个时间步,Simulink 都计算信号和状态的新值。相比之下,您可以在编译模型时指定参数,并且可以在仿真运行时偶尔更改它们

创建简单模型

您可以使用 Simulink® 来对系统建模,然后仿真该系统的动态行为。本教程中创建简单模型所使用的基本方法也适用于创建更复杂的模型。此示例对简化的汽车运动进行仿真。当踩下油门踏板时,汽车通常处于行进状态。松开踏板后,汽车怠速并停下来。

Simulink 模块是定义模块输入和模块输出之间数学关系的模型元素。要创建这个简单模型,您需要四个 Simulink 模块。

模型层次结构

Simulink® 模型可以组织成具有层次结构的组件。在分层模型中,您可以选择查看整体系统,或沿模型层次结构向下导航以逐级深入模型细节

相关推荐
chhttty16 小时前
Stateflow状态机建模:数据
matlab·simulink
Matlab程序猿16 小时前
【MATLAB源码-第459期】基于matlab的D-H模型与阻尼最小二乘逆运动学的六自由度机械臂五次轨迹规划及动力学前馈PD控制仿真。
人工智能·算法·matlab·d-h建模·六自由度串联机械臂
机器学习之心1 天前
基于CNN-LSTM的轴承剩余寿命预测,MATLAB代码
matlab·cnn·lstm·cnn-lstm·轴承剩余寿命预测
菜鸟~noob2333 天前
【电子战】 第26篇:大气衰减——氧气与水汽吸收【含matlab代码】
开发语言·matlab
菜鸟~noob2333 天前
【电子战】第25篇:自由空间、双射线与菲涅尔区【含matlab代码】
开发语言·算法·matlab
Evand J3 天前
【电机滤波例程5】渐消因子自适应扩展卡尔曼滤波(EKF),MATLAB。PMSM负载突变下的状态估计。附下载链接
算法·matlab
weixin_307779134 天前
C++代码实现MATLAB中的cvpartition函数功能
开发语言·c++·算法·matlab
机器学习之心4 天前
DCNN-PINN锂电池SOC估计,因果空洞卷积+物理信息神经网络,把库仑定律写进损失函数,MATLAB代码
人工智能·神经网络·matlab
weixin_307779134 天前
C++代码实现MATLAB中的crossval函数功能
开发语言·c++·算法·matlab
菜鸟~noob2335 天前
【电子战】 第22篇:误差椭圆与置信区间【含matlab代码】
开发语言·算法·matlab