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:1simIn(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 对象中。 |