我有一个嵌套结构,其中一些字段标记为L1
,L2
等。我尝试使用以下代码访问结构中的子结构。尝试访问结构时,Matlab编码器生成错误
lfield = lfidcalc(le);
substruct = bmstruct.(lfield);
由于le
改变其在每次迭代值,lfield
也改变其值从L1
到L9
。
但是,当我尝试构建此代码以生成C++可执行文件时,出现以下错误。
非常量表达式或空矩阵。此表达式必须是 ,因为它的值决定了某些 表达式的大小或类别。在这种情况下,字符串的值必须是已知的。
任何人都可以请帮我解决这个问题吗?
我记得'%#codegen'用于这个目的:http://www.mathworks.com/help/fixedpoint/ug/adding-the-compilation-directive-codegen.html。他们之间有什么不同? – Daniel 2014-08-27 20:46:08
我认为%#codegen实际上更新更好。 – 2014-08-27 20:51:36
@Sam Roberts。是的,我后来才知道它。现在,我必须使用静态字段名称,而不是使用开关大小写。 – suranga 2014-08-28 07:03:30