将Simulink SimulationInput对象用作类的属性

时间:2019-10-19 15:28:58

标签: matlab simulink

我想建立一个类的对象,该对象包含simulink模型的所有变量作为其属性。

为了以后能够使用并行仿真,我想在方法中使用一个函数,该函数接受所有属性并将它们提供给Simulink SimulationInput对象(通过'setVariable'方法), 但是setVariable-function在运行时不会填充对象“ in”的变量。

代码看起来像这样:

classdef SimSetup

properties
    mdl                        = 'SimulinkFile'
    SimulationTime             = 2
    Plant
    in
end

methods
    function this = SimSetup()
        open_system(this.mdl);
        this.Plant = load('PlantData.mat','xPlant');
    end

    function createSimIn(this)
        this.in = Simulink.SimulationInput(this.mdl);       
        this.in = this.in.setVariable('SimulationTime', this.SimulationTime);
    end
end

预先感谢

1 个答案:

答案 0 :(得分:0)

以下是错误:

我要么必须使用句柄类,要么必须将函数的输出返回给对象本身(简而言之:函数this = createSimIn(this))。