У меня есть вложенная структура с некоторыми полями, помеченными как 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
Я думаю, что% # codegen новее и лучше на самом деле. –
@Sam Roberts. Да, я узнал об этом позже. Теперь я должен использовать статические имена полей, используя случай переключения. – suranga