MATLAB 帮助中心
为结构体、子结构体或字段赋值以进行代码生成时,请遵循以下规范:
字段属性在不同结构体赋值之间必须一致
将一个结构体赋给另一个结构体。
将每个结构体定义为具有相同数量、类型和大小的字段。
将一个结构体赋给另一个结构体的子结构体,反之亦然。
将结构体定义为与子结构体具有相同数量、类型和大小的字段。
将一个结构体的元素赋给另一个结构体的元素。
对应的元素必须具有相同的类型和大小。
对于具有常量字段的结构体,不要在控制流构造中赋予字段值
在以下代码中,代码生成器将结构体字段 s.a 和 s.b 识别为常量。
s.a
s.b
function y = mystruct() s.a = 3; s.b = 5; y = zeros(s.a,s.b);
如果结构体的字段在控制流构造中赋值,代码生成器不会将 s.a 和 s.b 识别为常量。以如下代码为例:
function y = mystruct(x) s.a = 3; if x > 1 s.b = 4; else s.b = 5; end y = zeros(s.a,s.b);
如果启用可变大小,则 y 被视为可变大小数组。如果禁用可变大小 y,代码生成器将报告错误。
y
不要将 mxArray 赋给结构体
您不能将 mxArrays 赋给结构体元素;请在代码生成之前将 mxArrays 转换为已知类型(参阅使用 mxArray)。
mxArrays
不要将句柄类或稀疏数组赋给全局结构体变量
全局结构体变量不能包含句柄对象或稀疏数组。
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处