Creating file names for save command
Afficher commentaires plus anciens
I have the following code:
file_dir = 'C:\Users\mydir';
datestamp=string(datetime('now','TimeZone','local','Format','yyyyMMdd_HHmmss'));
file_name=strcat(file_dir,'sps_',datestamp,'.mat');
save(file_name);
which returns the following error:
Error using save
Argument must contain a character vector.
Not sure how to fix this?
2 commentaires
Paul Nel
le 6 Oct 2016
Nagabhushan SN
le 25 Août 2018
Same error:
save('temp.mat', data);
Error using save
Must be a string scalar or character vector.
Réponses (2)
You have to put some data in the file....
file_dir = pwd;
datestamp=string(datetime('now','TimeZone','local','Format','yyyyMMdd_HHmmss'));
file_name=strcat(file_dir,filesep,'sps_',datestamp,'.mat');
data = rand(10,10) ;
save(file_name,'data');
5 commentaires
Paul Nel
le 6 Oct 2016
KSSV
le 6 Oct 2016
Yes it is a warning....
Try:
datestamp=char(datetime('now','TimeZone','local','Format','yyyyMMdd_HHmmss'));
instead of
datestamp=string(datetime('now','TimeZone','local','Format','yyyyMMdd_HHmmss'));
Paul Nel
le 6 Oct 2016
KSSV
le 6 Oct 2016
How about replacing:
file_name=strcat(file_dir,filesep,'sps_',datestamp,'.mat');
with
file_name=char(strcat(file_dir,filesep,'sps_',datestamp,'.mat'));
Jan
le 6 Oct 2016
Prefer fullfile to join path and file names.
file_dir = 'C:\Users\mydir';
datestamp=char(datetime('now','TimeZone','local','Format','yyyyMMdd_HHmmss'));
file_name=strcat(file_dir,'sps_',datestamp,'.mat');
>> whos file_name
Name Size Bytes Class Attributes
file_name 1x37 74 char
This works for me.
Catégories
En savoir plus sur String Parsing dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!