Сохранить рабочее пространство с текущим временем. MatLab - PullRequest
0 голосов
/ 26 октября 2019

Я хотел бы сохранить все переменные моделирования и рис с текущим временем.

мое решение:

t = datetime('now','Format','dd-MM-yyyy''_T''HHmmss');
t2 = datevec(t);
DateString = datestr(t2);
filename=[DateString,' all_variables_main '];
save(filename )
savefig(filename)

В Matlab была выдана следующая ошибка:

Unable to write file 26-Oct-2019 09:47:15 all_variables_main : Invalid argument.

Что я сделал не так?

Ответы [ 2 ]

1 голос
/ 26 октября 2019

mat имена файлов не могут содержать пробелов или двоеточий. Вы можете использовать следующее для непосредственного получения даты и времени в формате, допустимом для имени файла:

>> fileName = [datestr(now, 'dd-mmm-yyyy_HHMMSS') '_all_variables_main']
fileName =
    '26-Oct-2019_103123_all_variables_main'
>> save(fileName)
1 голос
/ 26 октября 2019

Имя файла, содержащее символ :, не является допустимым именем файла.

Вы можете заменить : на "꞉" символ.
См .: Как получить файл в Windows с двоеточием в имени файла?

Вы можете заменить все : на символ (Unicode-символ A789, который выглядит как двоеточие), допустимый для использования в имени файла.

filename(filename == ':') = char(hex2dec('A789'));

Обязательно используйте правильный символ при загрузке файла.

Примечание: вышеуказанное решение было протестировано в Windows 10 и MATLAB R2016a.

...