Non-constant expression or empty matrix .This expression must be constant because its value determines the size or class of some expression

3 次查看(过去 30 天)
function I am going to convert from .m to .c file using matlab coder while doing it so i am getting error in
this line of below shown code i.e fieldName = char(theFields(match))% case-sensitive field name
code :

回答(1 个)

Walter Roberson
Walter Roberson 2022-2-1
theParam = model.(fieldName);
That struct potentially have a different type for each field, so the type of theParam is not fixed, and so cannot be compiled for.
If you were to initialize theParam to a fixed size and type then possibly you could get further.
  3 个评论
Jeevan Kulal
Jeevan Kulal 2022-2-1
编辑:Jeevan Kulal 2022-2-2
function theParam = getParamESC(paramName,temp,model)
theParam = zeros(1,1,"double");
.....further code
i have initialized as shown above, but still getting the same error.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Data Type Conversion 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by