【问题标题】:No constructor 'Stateflow.State' with matching signature found. Error Matlab找不到具有匹配签名的构造函数“Stateflow.State”。错误 Matlab
【发布时间】:2019-11-15 22:39:25
【问题描述】:

我正在尝试从 sflib (stateflow library) 创建状态块:

chart = add_block('sflib/Chart', 'autoDS/Chart'); %Create Chart Block
state = Stateflow.State(chart); %Create State in Chart Block
state.Name = 'CMD_28V_Avion';
open_system('autoDS');

它返回给我"No constructor 'Stateflow.State' with matching signature found" error. 请问我该如何解决?我不知道这是我在许多帖子中看到的语法还是库错误。

【问题讨论】:

    标签: matlab simulink stateflow


    【解决方案1】:

    add_block 返回添加块的句柄(对于状态图,它实际上是一个子系统)。它不返回图的句柄,这是Stateflow.State 需要的输入。因此出现错误。

    你需要,

    add_block('sflib/Chart', 'autoDS/Chart'); %Create Chart Block
    rt = sfroot;
    m = rt.find('-isa', 'Simulink.BlockDiagram', '-and', 'Name', 'autoDS'); % block diagram
    ch = m.find('-isa','Stateflow.Chart', '-and', 'Name', 'Chart'); % chart
    st = Stateflow.State(ch); % state
    st.Name = 'CMD_28V_Avion';
    open_system('autoDS');
    

    查看Create Charts by Using the Stateflow APIAccess the Model ObjectAccess the Chart Object 部分

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-14
      • 1970-01-01
      • 1970-01-01
      • 2020-09-02
      • 1970-01-01
      • 2016-01-26
      • 2016-06-17
      • 2016-10-05
      相关资源
      最近更新 更多