1. Simulink模型基础操作与仿真配置
任务说明
本案例目标为:在Simulink中创建一个简单模型(正弦波输入经过增益后输出),完成求解器类型、步长与仿真时间的配置,运行仿真并利用Scope模块查看结果。通过该案例掌握Simulink模型创建、仿真参数设置与结果观测的基本操作流程。
模型结构
模型包含三个模块:Sine Wave(正弦波信号源)、Gain(增益,设为2)、Scope(示波器,用于显示输出波形)。信号流为:Sine Wave → Gain → Scope。
创建模型的步骤
在MATLAB命令窗口执行以下命令,可自动创建并配置上述模型:
% 创建新模型
modelName = 'simple_sine_gain';
new_system(modelName);
open_system(modelName);
% 添加模块
add_block('simulink/Sources/Sine Wave', [modelName '/Sine Wave']);
add_block('simulink/Math Operations/Gain', [modelName '/Gain']);
add_block('simulink/Sinks/Scope', [modelName '/Scope']);
% 设置正弦波参数(默认幅值1,频率2*pi rad/s)
set_param([modelName '/Sine Wave'], 'Amplitude', '1', 'Frequency', '2*pi');
% 设置增益值
set_param([modelName '/Gain'], 'Gain', '2');
% 连接模块
add_line(modelName, 'Sine Wave/1', 'Gain/1', 'autorouting', 'on');
add_line(modelName, 'Gain/1', 'Scope/1', 'autorouting', 'on');
% 配置求解器与仿真参数
set_param(modelName, 'SolverType', 'Variable-step');
set_param(modelName, 'Solver', 'ode45');
set_param(modelName, 'MaxStep', '0.1');
set_param(modelName, 'StopTime', '10');
% 保存模型
save_system(modelName);
仿真参数说明
| 参数 | 设置值 | 作用 |
|---|---|---|
| 求解器类型 | Variable-step(变步长) | 根据误差自动调整步长,适合连续系统 |
| 求解器 | ode45(Dormand-Prince) | 四/五阶龙格库塔法,适用于大多数连续系统 |
| 最大步长 | 0.1 | 限制最大时间步,保证波形采样精度 |
| 仿真停止时间 | 10 | 仿真从0到10秒 |
运行仿真与查看结果
执行以下命令运行仿真并打开Scope查看波形:
% 运行仿真
sim(modelName);
% 打开Scope查看输出波形
open_system([modelName '/Scope']);
仿真运行后,Scope窗口将显示一条正弦波形,其幅值为2(输入幅值1乘以增益2),频率为1Hz(2π rad/s),时间范围为0~10秒,共约10个完整周期。
验证方法
完成上述操作后,按以下标准验证案例是否成功:
- 模型结构检查:模型窗口中出现三个模块且连线正确,无断开的端口。
- 参数检查:双击Gain模块确认增益值为2;打开模型配置参数(Ctrl+E),确认求解器为变步长ode45,最大步长0.1,停止时间10。
- 仿真执行:点击“运行”按钮或执行
sim命令,仿真正常完成无报错。 - 波形验证:Scope中显示正弦波,幅值约为2(观察Y轴范围约-2到2),0~10秒内包含约10个完整周期,波形平滑无异常突变。
若Scope中波形幅值、周期数与上述预期一致,则本案例操作成功。