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 函数。

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

自 R2024a 起

运行仿真前应用于模型的变体配置的名称,指定为字符串或字符向量。

此属性适用于使用变体元素(如变体模块和变体参数)的模型,并且还使用 Variant Manager for Simulink® 为模型创建了变体配置。对于这样的模型,您可以指定变体配置,该配置可以在仿真运行之前激活跨模型层次结构的特定变体路径。

有关示例,请参阅Run Simulations for Variant Models Using Variant Configurations

示例: "LinInterExpNoNoise"

数据类型: char | string

对象函数

applyToModelApply configuration in SimulationIntput object to model
getVariantConfigurationGet name of variant configuration from SimulationInput object
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
setVariable使用 SimulationInputSimulation 对象为仿真设置变量值
setVariantConfigurationSet variant configuration for simulation using SimulationInput object
showContentsView summary of specification in SimulationInput or Simulation object
validateValidate contents of SimulationInput object

示例

全部折叠

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

打开模型。

mdl = "sldemo_househeat";
openExample("simulink_general/sldemo_househeatExample",...
    SupportingFile=mdl)

为模型创建单一 SimulationInput 对象。

simin = Simulink.SimulationInput(mdl);

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

打开模型。

mdl = "vdp";
openExample("simulink_general/VanDerPolOscillatorExample",...
    SupportingFile=mdl)

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

simin(1:10) = Simulink.SimulationInput(mdl);

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

打开模型。

mdl = "sldemo_househeat";
openExample("simulink_general/sldemo_househeatExample",...
    SupportingFile=mdl)

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

simin(1:10) = Simulink.SimulationInput(mdl);

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

blk = mdl + "/Set Point";
for k = 1:10
simin(k) = setBlockParameter(simin(k),blk,...
	Value=num2str(rand()*10+70));
end

对模型进行仿真。

out = parsim(simin);

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

打开模型

mdl = "sldemo_mdlref_counter";
openExample(...
    "simulink/ExamineMultipleReferencedModelInstancesExample",...
    SupportingFile=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(mdl);
simin = setExternalInput(simin,ds);

对模型进行仿真。

out = sim(simin);

版本历史记录

在 R2017a 中推出

全部展开