我正在尝试使用add_line()
来组织带有'autorouting'参数的链接。
这是我的代码:
add_line(sprintf('%s',diagrammeName), [pos_array_out{pos_out};pos_array_in{pos_in}], 'autorouting','on');
其中pos_array_out
是输出位置的单元格,pos_array_in
是输入位置的单元格。
pos_in
和pos_out
是单元格的索引。
但是它返回一个错误:
Not enough input arguments
为什么会出现此错误?
答案 0 :(得分:1)
add_line()
在使用名称/值对时具有三个必选参数:sys
,out
和in
,以及可选的名称-值对。分解您的输入:
add_line(sprintf('%s',diagrammeName),...
[pos_array_out{pos_out};pos_array_in{pos_in}],...
'autorouting','on'...
);
直接告诉您问题所在。您有两个输入变量:1)sprintf('%s',diagrammeName)
,2)[pos_array_out{pos_out};pos_array_in{pos_in}]
和名称/值对('autorouting','on'
)。因此,基本上,您将三个必填参数中的两个喂给了它,因此会出现错误。
我怀疑,由于您使用变量名的方式,您应该这样做
add_line(sprintf('%s',diagrammeName),...
pos_array_out{pos_out},...
pos_array_in{pos_in},...
'autorouting','on'...
);
即按照文档中的建议拆分out
和in
变量。
add_line()
接受的另一种输入类型是h = add_line(sys,points)
,在这种情况下,您有两个位置自变量,就像在这里一样,但是显然不能使用名称/值对。原因是前一种语法告诉您行的起点和终点,然后由名称/值对控制行的外观,即行实际经过的位置(在对象周围移动)。使用sys, points
就像做plot(x,y)
一样,它在预定点之间划了一条线。然后,使用名称-值对控制形状就变得毫无意义,因为您已经隐式地为形状提供了points
。
执行[a;b]
创建一个数组,该数组是单个变量,因此会出错。
答案 1 :(得分:0)
编辑:我无法使用排名来组织模型