Save location not working

2 visualizaciones (últimos 30 días)
Richard Rees
Richard Rees el 22 de Feb. de 2020
Comentada: Richard Rees el 23 de Feb. de 2020
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

Respuesta aceptada

Subhadeep Koley
Subhadeep Koley el 22 de Feb. de 2020
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

Más respuestas (0)

Categorías

Más información sobre File Operations en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by