MATLAB中Simulink.SimulationInput用法 - 指南
目录
创建一个 Simulink.SimulationInput 对象
创建 Simulink.SimulationInput 对象数组
使用 Simulink.SimulationInput 对象数组设置模块参数
使用 Dataset 作为 Simulink.SimulationInput 对象的外部输入
Simulink.SimulationInput的功能是创建 SimulationInput 对象以对多个或单个仿真的模型进行更改。
说明
Simulink.SimulationInput 对象允许更改模型,并对包含更改的模型运行仿真。这些更改将暂时应用于模型。使用 Simulink.SimulationInput 对象,可以更改初始状态、模型参数、模块参数、外部输入和变量。通过 Simulink.SimulationInput 对象,还可以使用 setPreSimFcn 函数和 setPostSimFcn 指定在每个仿真的开始和结束时运行的 MATLAB® 函数。
创建对象
simIn = Simulink.SimulationInput ('ModelName') 为给定模型创建一个 Simulink.SimulationInput。然后,可以对 Simulink.SimulationInput 对象使用以下函数来修改仿真参数并仿真模型。
示例
创建一个 Simulink.SimulationInput 对象
创建一个 SimulationInput 对象。打开模型。
openExample('simulink/OpenTheModelExample');
open_system('ex_sldemo_househeat');
load_system('ex_sldemo_househeat')
为模型创建单一 SimulationInput 对象。
model = 'ex_sldemo_househeat';
simIn = Simulink.SimulationInput(model);
创建 Simulink.SimulationInput 对象数组
此示例说明如何创建 SimulationInput 对象数组。使用 for 循环创建 SimulationInput 对象数组。
model = 'vdp';
for k = 10:-1:1
simIn(k) = Simulink.SimulationInput(model);
end
使用 Simulink.SimulationInput 对象数组设置模块参数
此示例通过 SimulationInput 对象修改模型的模块参数。打开模型。
openExample("simulink_general/sldemo_househeatExample")
为此模型创建 SimulationInput 对象。
mdl = 'sldemo_househeat';
simIn = Simulink.SimulationInput(mdl);
修改模块参数。
simIn = setBlockParameter(simIn,'sldemo_househeat/Set Point',...,
'Value','300');
对模型进行仿真。
out = sim(simIn);
使用 Dataset 作为 Simulink.SimulationInput 对象的外部输入
此示例说明如何使用 Dataset 对象设置 Simulink.SimulationInput 对象的外部输入。打开模型
mdl = 'sldemo_mdlref_counter';
open_system(mdl);
为此模型创建 Dataset 对象。
t = (0:0.01:10)';
ds = Simulink.SimulationData.Dataset;
ds = setElement(ds,1,timeseries(5*ones(size(t)),t));
ds = setElement(ds,2,timeseries(10*sin(t),t));
ds = setElement(ds,3,timeseries(-5*ones(size(t)),t));
创建 Simulink.SimulationInput 对象并设置外部输入。
simIn = Simulink.SimulationInput('sldemo_mdlref_counter');
simIn = setExternalInput(simIn,ds);
对模型进行仿真。
out = parsim(simIn);
属性
ModelName — 模型的名称
为其创建 SimulationInput 对象的模型的名称。
InitialState — 初始状态
仿真的模型的初始状态,指定为 Simulink.op.ModelOperatingPoint 对象。
ExternalInput — 外部输入
添加到仿真模型的外部输入。
BlockParameters — 模块参数
修改的模型的模块参数。
Variables — 变量
修改的模型的变量。
ModelParameters — 模型参数
修改的模型的模型参数。
PreSimFcn — 预仿真函数
在仿真开始之前运行的 MATLAB 函数。
PostSimFcn — 后仿真函数
UserString — 用户字符串
仿真的简要说明,指定为字符数组或字符串。
对象函数
方法 | 用途 |
|---|---|
| setModelParameter | 通过 SimulationInput 对象设置要用于特定仿真的模型参数。 |
| setBlockParameter | 通过 SimulationInput 对象设置要用于特定仿真的模块参数。 |
| setInitialState | 通过 SimulationInput 对象设置用于特定仿真的初始状态。 |
| setExternalInput | 通过 SimulationInput 对象设置仿真的外部输入。 |
| setVariable | 通过 SimulationInput 对象设置仿真的变量。 |
| setPreSimFcn | 通过 SimulationInput 对象指定在每次仿真开始前运行的 MATLAB 函数。 |
| setPostSimFcn | 通过 SimulationInput 对象指定在每次仿真完成后运行的 MATLAB 函数。 |
| applyToModel | 通过 SimulationInput 对象将更改应用于指定的模型。 |
| validate | 验证 SimulationInput 对象的内容。 |
| loadVariablesFromMATFile | 将 MAT 文件中的变量加载到 Simulink.SimulationInput 对象中。 |
浙公网安备 33010602011771号