本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

Simulink.SimulationInput 类

包: Simulink
超类:

创建 SimulationInput 对象以对多个或单个仿真的模型进行更改

Description

Simulink.SimulationInput 对象允许您更改模型,并对包含更改的模型运行仿真。这些更改将暂时应用于模型。通过 Simulink.SimulationInput 对象,您可以更改:

  • Initial state

  • 模型参数

  • 模块参数

  • 外部输入

  • 变量

通过 Simulink.SimulationInput 对象,您还可以分别使用 in.setPreSimFcnin.setPostSimFcn 指定在每个仿真的开始和结束时运行的 MATLAB® 函数。Simulink.SimulationInput 不支持引用的模型自带数据字典。

构造

in = Simulink.SimulationInput('modelName') 为模型创建 SimulationInput 对象。

输入参数

全部展开

通过将模型名称作为参数传递来创建 Simulink.SimulationInput 对象。

示例: in = Simulink.SimulationInput('cstr')

属性

全部展开

为其创建 SimulationInput 对象的模型的名称。

仿真的模型的初始状态,指定为 Simulink.op.ModelOperatingPoint 对象。

添加到仿真模型的外部输入。

修改的模型的模块参数。

修改的模型的变量。

修改的模型的模型参数。

在仿真开始之前运行的 MATLAB 函数。

在仿真后运行的 MATLAB 函数。

仿真的简要说明,指定为字符数组。

方法

方法

用途

setModelParameter

通过 SimulationInput 对象设置要用于特定仿真的模型参数。

setBlockParameter

通过 SimulationInput 对象设置要用于特定仿真的模块参数。

setInitialState

通过 SimulationInput 对象设置用于特定仿真的初始状态。

setExternalInput

通过 SimulationInput 对象设置仿真的外部输入。

setVariable

通过 SimulationInput 对象设置仿真的变量。

setPreSimFcn

通过 SimulationInput 对象指定在每次仿真开始前运行的 MATLAB 函数。

setPostSimFcn

通过 SimulationInput 对象指定在每次仿真完成后运行的 MATLAB 函数。

applyToModel

通过 SimulationInput 对象将更改应用于指定的模型。

validate

验证 SimulationInput 对象的内容。

loadVariablesFromMATFile

将 MAT 文件中的变量加载到 Simulink.SimulationInput 对象中。

示例

全部折叠

此示例说明如何创建 SimulationInput 对象。

打开模型。

openExample('simulink/OpenTheModelExample');
open_system('ex_sldemo_househeat');
load_system('ex_sldemo_househeat')

为模型创建单一 SimulationInput 对象。

model = 'ex_sldemo_househeat';
in = Simulink.SimulationInput(model);

此示例说明如何创建 SimulationInput 对象的数组。

使用 for 循环创建 SimulationInput 对象的数组。

model = 'vdp';
for i = 10:-1:1
   in(i) = Simulink.SimulationInput(model);
end

此示例通过 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)

此示例说明如何使用数据集设置 Simulink.SimulationInput 对象的外部输入。

打开模型

mdl = 'sldemo_mdlref_counter';
open_system(mdl);

为此模型创建 Dataset 对象。

t = (0:0.01:10)';
ds{1} = timeseries(5*ones(size(t)),t);
ds{2} = timeseries(10*sin(t),t);
ds{3} = timeseries(-5*ones(size(t)),t);

创建 Simulink.SimulationInput 对象并设置外部输入

in = Simulink.SimulationInput('sldemo_mdlref_counter');
in = in.setExternalInput('ds.getElement(1),ds.getElement(2),ds.getElement(3)');

在表达式中添加其他剩余变量。确保数据集也在 SimulationInput 对象上。

对模型进行仿真。

in = in.setVariable('ds',ds);

对模型进行仿真

out = parsim(in)

在 R2017a 中推出