是否可以在嵌入式MATLAB函数中使用结构?

时间:2012-10-26 10:18:32

标签: matlab simulink

如果是,那么model explorer中为这些参数指定的数据类型应该是什么。

尝试为图像创建循环缓冲区时,我在初始化时遇到错误:Attempt to extract field <field name> from double。我已将结构初始化为uint8

2 个答案:

答案 0 :(得分:0)

有可能,例如:

function y = fcn()
y = [1;2;3;4];

要访问结构元素,您可以使用demux:simulink model shoing embedded matlab function and a demux with displays

数据类型的默认设置是“inherited”,因此它将取决于以下块。您可能需要其他类型,但请注意,对于结构,数据类型适用于元素而不是输出

答案 1 :(得分:0)

是的,有可能,请参阅更多详情in the Simulink doc。如果您需要将结构作为输入或输出,那么您需要做的是创建Simulink.Bus对象来定义结构(类似于C typedef)。对于内部变量,您应该能够使用标准MATLAB语言来创建和修改结构。