Morning, I have a problem with not being able to solve the problem with "Error using save: Must be a string scalar or character vector". The save directories are being created but the save function is refusing to save to these, I think it has something to do with the dates within the subfolder directories but I do not know how to save it alteratively. Could someone have a look please?
sv_direct ={'D:\One drive\OneDrive - XUniversity\PhD\TecPlot\MATLAB_sim_var\'};
coupled_data_export = num2cell(rand(3));
save_var{i} = {'coupled_data_export'};
for i = 1:length(sv_direct)
compare_locs{i} = sprintf('%s%s_subplot_figures/%s/%s/%s', sv_direct{i},string(folder_pts(5)),string(coupled_FN(1)),currDate,string(folder_pts(6)));
% Finally, create the folder if it doesn't exist already.
if ~exist(compare_locs{i}, 'dir')
mkdir(compare_locs{i});
end
end
for i = 1:length(sv_direct)
save_locs{i} = sprintf('%sEqualised_for_TP_export/%s/%s/%s', sv_direct{i},string(coupled_FN(1)),currDate,string(folder_pts(6)));
if ~exist(save_locs{i}, 'dir')
mkdir(save_locs{i});
end
end
for i = 1:length(save_var)
save_name{i} = char(save_var{i});
for k = 1 : length(save_locs)
baseFileName = char(sprintf('%s.mat', save_name{i}));
fullMatFileName = fullfile(save_locs{k}, baseFileName);
save(fullMatFileName, save_var{i});
fprintf('Saving to: %s.\n', save_locs{k});
end
end

 Réponse acceptée

Subhadeep Koley
Subhadeep Koley le 22 Fév 2020

0 votes

I guess this variable save_var{i} in the 4th last line of your code is returning a cell. Whereas, the function save expects a string scalar or a character vector.
Try casting save_var{i} to char.
sv_direct ={'D:\One drive\OneDrive - XUniversity\PhD\TecPlot\MATLAB_sim_var\'};
coupled_data_export = num2cell(rand(3));
save_var{i} = {'coupled_data_export'};
for i = 1:length(sv_direct)
compare_locs{i} = sprintf('%s%s_subplot_figures/%s/%s/%s', sv_direct{i},string(folder_pts(5)),string(coupled_FN(1)),currDate,string(folder_pts(6)));
% Finally, create the folder if it doesn't exist already.
if ~exist(compare_locs{i}, 'dir')
mkdir(compare_locs{i});
end
end
for i = 1:length(sv_direct)
save_locs{i} = sprintf('%sEqualised_for_TP_export/%s/%s/%s', sv_direct{i},string(coupled_FN(1)),currDate,string(folder_pts(6)));
if ~exist(save_locs{i}, 'dir')
mkdir(save_locs{i});
end
end
for i = 1:length(save_var)
save_name{i} = char(save_var{i});
for k = 1 : length(save_locs)
baseFileName = char(sprintf('%s.mat', save_name{i}));
fullMatFileName = fullfile(save_locs{k}, baseFileName);
save(fullMatFileName, char(save_var{i}));
fprintf('Saving to: %s.\n', save_locs{k});
end
end

Plus de réponses (0)

Catégories

En savoir plus sur Startup and Shutdown dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by