Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

Simulink.SimulationInput

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

说明

Simulink.SimulationInput 对象允许您更改模型,并对包含更改的模型运行仿真。这些更改将暂时应用于模型。使用 Simulink.SimulationInput 对象,您可以更改初始状态、模型参数、模块参数、外部输入和变量。通过 Simulink.SimulationInput 对象,您还可以使用 setPreSimFcn 函数和 setPostSimFcn 指定在每个仿真的开始和结束时运行的 MATLAB® 函数。

创建对象

描述

示例

simIn = Simulink.SimulationInput(mdlName) 创建一个 Simulink.SimulationInput 对象来配置由 mdlName 指定的模型的仿真。

输入参数

全部展开

模型名称,指定为字符串或字符向量。指定模型名称时,不要包括 .slx 扩展名。

属性

全部展开

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

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

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

修改的模型的模块参数。

修改的模型的变量。

修改的模型的模型参数。

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

每次仿真后要运行的 MATLAB 函数。

仿真的简要描述,指定为字符数组或字符串。

对象函数

applyToModelApply configuration in SimulationIntput object to model
loadVariablesFromExternalSourceLoad variables from a custom file into Simulink.SimulationInput object
loadVariablesFromMATFileLoad variables from MAT file into Simulink.SimulationInput object
removeVariableRemove variable from SimulationInput or Simulation object
setBlockParameterSet block parameter values for simulation using SimulationInput or Simulation object
setExternalInputSpecify external input data for top-level input ports using SimulationInput or Simulation object
setInitialStateSpecify initial state for simulation using SimulationInput or Simulation object
setPostSimFcn Set MATLAB function to run after each simulation
setPreSimFcnSpecify MATLAB function to run before start of each simulation on Simulink.SimulationInput object
setModelParameterSet model parameter values for simulation using SimulationInput or Simulation object
setVariableSimulationInput 对象设置变量值
showContentsView summary of specification in SimulationInput or Simulation object
validateValidate contents of SimulationInput object

示例

全部折叠

创建一个 SimulationInput 对象来配置模型 sldemo_househeat 的仿真。

打开模型。

openExample("simulink_general/sldemo_househeatExample") 

为模型创建单一 SimulationInput 对象。

mdl = "sldemo_househeat";
simIn = Simulink.SimulationInput(mdl);

此示例说明如何创建 SimulationInput 对象数组来配置模型 vdp 的多个仿真。

打开模型。

openExample("simulink_general/VanDerPolOscillator")

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

mdl = "vdp";
simIn(1:10) = Simulink.SimulationInput(mdl);

使用 Simulink.SimulationInput 对象修改模型 sldemo_househeat 的仿真的模块参数值。

打开模型。

openExample("sldemo_househeat")

为模型创建一个 SimulationInput 对象数组。

mdl = "sldemo_househeat";
simIn(1:10) = Simulink.SimulationInput(mdl);

使用 setBlockParameter 函数为名为 Set Point 的模块指定参数。

for i = 1:10
simIn(i) = simIn(i).setBlockParameter(simIn,'ex_sldemo_househeat/Set Point',
   'Value',rand()*10+70);
end

对模型进行仿真。

out = sim(simIn);

此示例说明如何使用 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);

版本历史记录

在 R2017a 中推出