Как получить доступ в октаве к переменной, хранящейся в двоичном файле .mat?

#matlab #octave #mat

#matlab #octave #мат

Вопрос:

Я получаю доступ к переменной из загруженного .mat файла. Этот .mat файл является двоичным файлом matlab. Переменные, содержащиеся в этом двоичном файле, были сгенерированы генератором кода, к которому у меня нет доступа. Переменные соответствуют class.member обозначениям.

Octave успешно может прочитать этот .mat файл и загрузить переменные в рабочую область.

Однако при попытке отобразить содержимое любой из этих переменных возникает следующая ошибка:

variable is not defined ошибка отражает.

 load datafile.mat

w_h1_prev_i = lstm_1.weight_hh;

error : 'lstm_1' undefined`
  

lstm_1.weight_hh переменная хранится в datafile.mat

Вопрос в том, как я могу заставить свои скрипты octave иметь доступ к этим переменным в их текущем формате?

Комментарии:

1. Она определенно не существует в этом файле mat

2. сделайте clear; load datafile.mat; whos . whos Команда показывает вам все переменные в рабочей области. Вы также можете попробовать whos -file datafile.mat вместо этого. Этот последний не загрузит файл, но покажет переменные, которые в нем есть.

3. @Крис Луэнго, при выполнении clear; load datafile.mat; whos . Это указывает на то, что переменная lstm_1.weight_hh существует, но при доступе она выдает ошибку: lstm_1 is undefined .

4. Это очень странно. Либо у вас опечатка ( l vs 1 или что-то в этом роде), либо вы обнаружили ошибку в Octave. Чтобы убедиться, что у вас нет первого, скопируйте и вставьте имя переменной из выходных данных whos .