找不到具有匹配签名的构造函数“Stateflow.State”。错误 Matlab

Posted

技术标签:

【中文标题】找不到具有匹配签名的构造函数“Stateflow.State”。错误 Matlab【英文标题】:No constructor 'Stateflow.State' with matching signature found. Error 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. 请问我该如何解决?我不知道这是我在许多帖子中看到的语法还是库错误。

【问题讨论】:

【参考方案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 API 的Access the Model ObjectAccess the Chart Object 部分

【讨论】:

以上是关于找不到具有匹配签名的构造函数“Stateflow.State”。错误 Matlab的主要内容,如果未能解决你的问题,请参考以下文章

找不到匹配的签名身份“Mac 开发人员:”

签名的 JWT 被拒绝:需要另一个算法,或者找不到匹配的密钥

代码签名错误:找不到与应用程序标识符匹配的有效配置文件...

在密钥链中找不到与此配置文件匹配的有效签名身份

任何 Help Watch 应用扩展都找不到匹配的配置文件?

如何熟悉代码签名问题?