0

我有一个 S 函数,它将数组作为 excel 文件的输入,并使用数组进行计算。S 功能块中的最终结果是一个 Nx1 数组。我尝试将 Nx1 数组分配给 sFunc.OutputPort(1).Data,但它给了我错误,说我正在尝试将长度为 N 的向量分配给长度为 1 的向量。

我希望能够输出数组并将其馈送到 Simulink 中的另一个 S 函数和范围以针对另一个数组(时间)绘制数据。

任何帮助将不胜感激!</p>

谢谢!

4

1 回答 1

1

对于 2 级 M 文件 s-function,您应该在 setup() 函数中明确指定 Outport 尺寸:

function setup(block)
....
block.OutputPort(1).Dimensions       = [N 1];

然后你可以在输出函数中像这样输出你的数组:

function Output(block)
...
block.OutputPort(1).Data = ones(N,1);

我在一个虚拟的 L-2 MS-Fcn 中尝试了这个,它工作得很好......

于 2012-08-17T15:15:58.237 回答