0

如何在 Simulink 中有问题地枚举模块的输入和输出句柄?到目前为止,我已经尝试使用以下内容,其中 'sfunc' 已设置为块句柄:

inports = get_param(sfunc, 'Inport')
outports = get_param(sfunc, 'Outport')

它返回一个二维数组,其大小等于指定端口的数量。但是当我运行以下命令时(使用 'inports' 或 'outports')

get_param(inports, 'Handle')

它指出数组必须是向量。我会以正确的方式解决这个问题吗?如果是这样,我如何将数组转换为向量?本质上,我要做的是获取连接到块的线的句柄,以便稍后在用新块替换当前块后将它们链接起来。对此的任何帮助将不胜感激。

4

1 回答 1

2

尝试使用参数 PortHandles,这将为您提供一个包含 Inport、Outport、EnablePort 等字段的结构。Inport 和 Outport 字段将是一个句柄数组,即端口数量的大小。

>> ph = get_param(sfunc, 'PortHandles')
>> inportHandles = ph.Inport;
% Get the 2nd input port handle
>> input_2 = inportHandles(2);
>> line = get_param(input_2, 'Line');
于 2011-04-08T00:51:47.890 回答