Используйте старые форматы сохранения MATLAB - PullRequest
0 голосов
/ 12 февраля 2019

Я использую модель, в которой есть несколько библиотек DLL, которые читают некоторые файлы .mat.
Когда я использую старую версию MATLAB (я думаю 2011a) для генерации файлов, я получаю файлы, которые работают нормально, нокогда я создаю их с 2017a, кажется, что файлы не работают с тем же сценарием.
Я использовал 2017, чтобы прочитать в рабочем файле 2011 года, а затем сохранил его, и эти файлы также не работают.
IМы также пробовали описанное выше с настройками -vXX для всех доступных значений в соответствии с help , но безуспешно.

Пример:

clear; load('v2011file.mat'); save('v2017copy.mat', '-v6', 'var1', 'var2', 'var3');

OneМежду этими двумя моментами я заметил, что при их выборе в браузере «Текущая папка» в предварительном просмотре всегда отображаются файлы 2017 года с именами переменных в алфавитном порядке, независимо от того, в каком порядке я их сохранил, астарый файл 2011 года, похоже, сохраняет порядок, в котором они были сохраненыЯ могу только предположить, что это связано с изменением способа сохранения файлов - это может не быть проблемой, но это намекает на изменение (это происходит независимо от того, включаю ли я '-vXX' для использования старых форматов).).

Вероятно, стоит отметить, что файлы 2011 года созданы на XP, а файлы 2017 года - на Windows 7.

По сути, я ищу любого, кто может знать, возможно ли этодля меня, чтобы изменить способ составления файла с помощью MATLAB, вместо того, чтобы менять библиотеки DLL для принятия более нового файла.

1 Ответ

0 голосов
/ 12 февраля 2019

Похоже, я могу обойти проблему с порядком сохранения и получить что-то, что работает следующим образом:

save('new2017file.mat', 'var1');
save('new2017file.mat', 'var3'. '-append');
save('new2017file.mat', 'var2', '-append');

Это означает, что я могу разместить их в определенном порядке - мне нужно установить сохранение по умолчанию на-v7 в настройках> общие> .mat файлы тоже.

Я бы не сказал "нет" более элегантного ответа, если он есть!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...