sim
对 Simulink 模型进行仿真
语法
说明
Simulink® 模型表示动态系统。通过模型仿真,您可以了解系统随时间的行为变化。sim
命令使用指定的模型,并将参数应用于模型。在仿真结束时,sim
命令将还原它应用的所有参数。
使用参数名称-值对组对指定模型进行仿真。simOut
= sim(model
,Name,Value
)
使用 simOut
= sim(simIn
)Simulink.SimulationInput
对象 simIn
中指定的输入对模型进行仿真。sim
命令可用于 SimulationInput
对象数组,以运行一个系列中的多个仿真。如果 simIn
是 Simulink.SimulationInput
对象的数组,输出将以 Simulink.SimulationOutput
对象数组形式返回。
使用结构体 simOut
= sim(model
,ParameterStruct
)ParameterStruct
中指定的参数值对指定模型进行仿真。
示例
使用 Simulink.SimulationInput 对象的数组设置模块参数
此示例通过 SimulationInput
对象修改模型的模块参数。
打开模型。
openExample('simulink/OpenTheModelExample'); open_system('ex_sldemo_househeat'); load_system('ex_sldemo_househeat')
为此模型创建 SimulationInput
对象。
mdl = 'sldemo_househeat';
in = Simulink.SimulationInput(mdl);
修改模块参数。
in = in.setBlockParameter('sldemo_househeat/Set Point','Value','300');
对模型进行仿真。
out = sim(in)
使用默认参数设置对模型进行仿真
对 vdp
模型的现有状态进行仿真,不考虑它是尚未加载还是已加载但有尚未保存的更改。
默认情况下,“配置参数”对话框的“数据导入/导出”窗格上的单一仿真输出处于选中状态,因此 sim
返回使用单输出格式(仿真对象)的仿真结果。此选择会覆盖用于信号记录的 Dataset
格式。
simOut = sim('vdp')
使用结构体形式的 sim
命令行选项对模型进行仿真
仿真模型 vdp
并将状态保存在 xoutNew
中,将输出保存在 youtNew
中。
使用名称-值对组结构体 paramNameValStruct
为 sim
命令指定参数:
paramNameValStruct.SaveState = 'on'; paramNameValStruct.StateSaveName = 'xoutNew'; paramNameValStruct.SaveOutput = 'on'; paramNameValStruct.OutputSaveName = 'youtNew'; simOut = sim('vdp',paramNameValStruct)
simOut = Simulink.SimulationOutput: xoutNew: [64x2 double] youtNew: [64x2 double] SimulationMetadata: [1x1 Simulink.SimulationMetadata] ErrorMessage: [0x0 char]
使用配置集形式的 sim
命令行选项对模型进行仿真
在绝对容差为 1e-5
的条件下对模型 vdp
进行仿真,并将状态保存在 xoutNew
中,将输出保存在 youtNew
中。
在配置集 mdl_cs
中为 sim
命令指定名称-值对组形式的参数:
mdl = 'vdp'; load_system(mdl) cs = getActiveConfigSet(mdl); mdl_cs = cs.copy; set_param(mdl_cs,'AbsTol','1e-5',... 'SaveState','on','StateSaveName','xoutNew',... 'SaveOutput','on','OutputSaveName','youtNew') simOut = sim(mdl, mdl_cs)
simOut = Simulink.SimulationOutput: xoutNew: [65x2 double] youtNew: [65x2 double] SimulationMetadata: [1x1 Simulink.SimulationMetadata] ErrorMessage: [0x0 char]
输入参数
输出参数
详细信息
提示
使用
sim
命令指定的参数将覆盖模型配置参数对话框中定义的值。软件将在仿真结束时恢复原始配置值。
如果一个模型中包含 Model 模块,参数设定将应用于顶层模型。
当仿真模型的停止时间为无限长时,要停止仿真,必须按 Ctrl+C。Ctrl+C 会中断仿真,并且仿真结果不会保存在 MATLAB 工作区中。
要指定仿真的时间跨度,必须指定
StartTime
和StopTime
参数。要记录模型时间、状态或输出,请使用“模型配置参数”对话框的数据导入/导出窗格。
要记录信号,请使用 To Workspace 模块(如 To Workspace 模块或 Scope 模块),或使用信号记录。有关详细信息,请参阅 使用信号记录导出信号数据。
要获取模型
vdp
的仿真参数列表,请在 MATLAB 命令行窗口中输入:configSet = getActiveConfigSet('vdp') configSetNames = get_param(configSet, 'ObjectParameters')
此命令列出多个对象参数,包括仿真参数,如
'StopTime'
、'SaveTime'
、'SaveState'
、'SaveOutput'
和'SignalLogging'
。