Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个 S 函数,它将数组作为 excel 文件的输入,并使用数组进行计算。S 功能块中的最终结果是一个 Nx1 数组。我尝试将 Nx1 数组分配给 sFunc.OutputPort(1).Data,但它给了我错误,说我正在尝试将长度为 N 的向量分配给长度为 1 的向量。
我希望能够输出数组并将其馈送到 Simulink 中的另一个 S 函数和范围以针对另一个数组(时间)绘制数据。
任何帮助将不胜感激!</p>
谢谢!
对于 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 中尝试了这个,它工作得很好......