1.4 基本建模流程与模块库使用
Simulink 提供了一个直观的图形化环境,用于动态系统的建模和仿真。本节将详细介绍 Simulink 的基本建模流程以及如何高效使用模块库。
一、Simulink 基本建模流程
Simulink 的建模过程可以分为以下几个步骤:
明确建模目标
确定需要建模的系统类型(如控制系统、电力电子系统等)。
明确输入、输出及系统内部结构。
创建新模型
在 MATLAB 命令窗口中输入 simulink 或点击工具栏中的 Simulink 图标启动 Simulink。
选择 File -> New -> Model 创建一个新的空白模型。
添加模块
打开 模块库浏览器(Library Browser),浏览或搜索所需的模块。
将模块从模块库拖拽到模型编辑区,或双击模块将其插入到模型中。
连接模块
使用鼠标从一个模块的输出端口拖拽到另一个模块的输入端口,完成模块间的连接。
注意:只有兼容的端口才能连接(例如信号类型和维度必须匹配)。
设置模块参数
双击模块,打开其参数设置对话框。
根据需求调整模块的属性(如增益值、初始条件等)。
配置仿真参数
点击菜单栏中的 Simulation -> Model Configuration Parameters,设置仿真时间、求解器类型等。
常用仿真参数:
Start time:仿真开始时间。
Stop time:仿真结束时间。
Solver:选择求解器类型(如 ode45、ode23 等)。
运行仿真
点击工具栏中的“Run”按钮启动仿真。
观察仿真结果,分析系统行为。
保存模型
选择 File -> Save As 保存模型文件(扩展名为 .slx)。
二、模块库的使用
Simulink 提供了丰富的模块库,涵盖了各种功能模块。以下是模块库的主要分类及其用途:
Commonly Used Blocks(常用模块)
包含常用的输入、输出和显示模块。
示例:
Constant:生成常数值。
Step:生成阶跃信号。
Scope:显示仿真结果。
Continuous(连续系统模块)
适用于连续时间系统的建模。
示例:
Integrator:实现积分运算。
Derivative:实现微分运算。
Transfer Fcn:定义传递函数。
Discrete(离散系统模块)
适用于离散时间系统的建模。
示例:
Discrete-Time Integrator:离散积分器。
Unit Delay:延迟模块。
Math Operations(数学运算模块)
提供各种数学运算功能。
示例:
Sum:加法器。
Product:乘法器。
Gain:增益模块。
Sources(信号源模块)
提供各种输入信号。
示例:
Sine Wave:正弦波信号。
Random Number:随机数生成器。
Sinks(信号接收模块)
用于显示或存储仿真结果。
示例:
Scope:实时显示信号波形。
To Workspace:将信号数据存储到 MATLAB 工作区。
Signal Routing(信号路由模块)
用于信号的合并、分离和切换。
示例:
Mux:多路复用器。
Demux:多路分解器。
Switch:信号切换模块。
User-Defined Functions(用户自定义函数模块)
支持通过 MATLAB 函数或 S-Function 定义复杂功能。
示例:
MATLAB Function:嵌入 MATLAB 代码。
S-Function:自定义模块开发。
三、模块库使用技巧
快速搜索模块
在模块库浏览器顶部的搜索框中输入模块名称或关键字,快速找到所需模块。
模块拖拽与复制
将模块从模块库拖拽到模型编辑区,或直接在模型中复制已有的模块以节省时间。
模块注释
右键点击模块,选择 Add Block Annotation 添加注释,便于理解模型结构。
模块封装
将多个模块组合成一个子系统,并为其添加接口,简化模型视图。
方法:选中多个模块后右键选择 Create Subsystem。
模块颜色标记
使用不同颜色标记模块,区分不同的功能区域。
方法:右键点击模块,选择 Format -> Fill Color。
自动布局
使用 Ctrl+Shift+A 快捷键对模型进行自动布局,使模块排列更加整齐。
四、示例:简单系统的建模
以下是一个简单的建模示例,演示如何使用模块库构建并仿真一个一阶线性系统。
目标:建模并仿真系统 y'(t) = -2y(t) + u(t)y
′
(t)=−2y(t)+u(t),其中 u(t)u(t) 是阶跃信号。
步骤:
添加模块:
从 Continuous 库中添加 Integrator 模块。
从 Math Operations 库中添加 Gain 和 Sum 模块。
从 Sources 库中添加 Step 模块。
从 Sinks 库中添加 Scope 模块。
连接模块:
将 Sum 模块的输出连接到 Integrator 输入。
将 Integrator 输出连接到 Gain 模块。
将 Gain 输出连接到 Sum 模块的一个输入端。
将 Step 模块连接到 Sum 模块的另一个输入端。
将 Integrator 输出连接到 Scope 模块。
设置参数:
设置 Gain 模块的增益为 -2。
设置 Step 模块的时间步长为 0。
配置仿真参数:
设置仿真时间为 10 秒。
选择求解器为 ode45。
运行仿真并观察结果。
通过本节的学习,读者将掌握 Simulink 的基本建模流程以及模块库的使用方法,为后续更复杂的建模任务奠定基础。