在函数范围内加载总线定义

Load bus definitions in function's scope

如何在函数中使用 Simulink.Bus.createMATLABStruct?我正在函数范围内加载一些总线定义,但 createMATLABStruct 没有看到这些。如果我在全局工作区中加载总线定义,那么该函数将起作用。

无效:

function test()
load('someBuses.mat');
s = Simulink.Bus.createMATLABStruct('aBus');
end

作品:

load('someBuses.mat');
% ...
function test()
s = Simulink.Bus.createMATLABStruct('aBus');
end

有什么想法吗?

Simulink.Bus.createMATLABStruct 接受第 4 个(未记录的)输入——在​​编辑器中打开文件以查看第 4 个输入——它可以是 'base'(默认值)或数据字典对象.

默认值为 'base',这就是您从基础工作区加载的版本有效的原因。 查看此 link 以了解有关创建 Data Dictionaries.

的信息