Я работаю над проектом MATLAB Coder, где хочу загрузить некоторые постоянные значения. После многих попыток, все безуспешно, я придумал директиву «coder.load», которая загружает переменные из файлов MAT и принимает их как константы времени компиляции в сгенерированном C-коде.Matlab Coder вызывает ошибку смешанного поля в структурном массиве при загрузке файла MAT с помощью coder.load
Это ошибка, я получаю:
Найдено неподдерживаемый класс для переменной с помощью функции «coder.load». Типы смешанных полей в массивах массивов не поддерживаются. Тип в 'ind_x.params (1) .name' отличается от типа в 'ind_x.params (2) .name'.
Но проблема в том, что поле «имя» массива структуры «params» имеет одинаковый тип для каждого элемента массива. Действительно, пытаясь его на окно командной строки дает мне тот же тип:
>> class(ind_x.params(1).name)
ans =
char
>> class(ind_x.params(2).name)
ans =
char
Есть другие поля массива структуры, которые типа «двойной» и один типа «BOOL», но тип doesen 't изменять внутри разных элементов массива одного и того же поля, поэтому я не понимаю ошибку.
Пожалуйста, предоставьте [mcve]. – excaza