Чтение в Matlab-файле .mat: ранг переменной и димс корректны, но данные NULL

Я пытаюсь прочитать в .mat файл из Matlab, используя matio, и переменная имеет правильный ранг и димс, но данные равны нулю:

mat_t    *matfp;
matvar_t *matvar;
matfp = Mat_Open("the_file.mat",MAT_ACC_RDONLY);
matvar = Mat_VarReadInfo(matfp,"my_var");

assert(matvar->rank==2);
assert(nrows==matvar->dims[0] && ncols==matvar->dims[1]);

но

matvar->data==NULL

Я предполагаю, что что-то идет не так, читая в файле .mat, но я не уверен, как его диагностировать.

0

Решение

Вам следует проверить версию файла MATLAB.

Может быть, файл написан в MATLAB версии 7.3 или со сжатием.

Если вы создаете свою библиотеку lib (matio) без zlib, вы не можете читать сжатые данные.
Если вы собираете без zlib и HDF5, вы не можете читать файлы версии 7.3.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]