我有一个S函数,它将数组作为excel文件的输入,并使用数组进行计算。 S功能块的最终结果是Nx1阵列。我已经尝试将Nx1数组分配给sFunc.OutputPort(1).Data,但是它给出了错误,说我试图将长度为N的向量分配给长度为1的向量。
我希望能够输出数组并将其输入到Simulink中的另一个S函数和范围内,以便将数据绘制到另一个数组(时间)。
非常感谢任何帮助!
谢谢!
答案 0 :(得分:1)
对于Level-2 M文件s函数,您应该在setup()函数中明确指定Outport维度:
function setup(block)
....
block.OutputPort(1).Dimensions = [N 1];
然后你可以在输出函数中输出你的数组:
function Output(block)
...
block.OutputPort(1).Data = ones(N,1);
我在一个假的L-2 M-S-Fcn中尝试了这个,它工作得很好......