saving files in a loop with different names
8 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
MiauMiau
le 9 Sep 2015
Réponse apportée : Image Analyst
le 10 Sep 2015
Hi
My code looks something like:
for k = 1:length(sixCenters)
grouped(:,:,k) = fisher_matrix;
filename = strcat(sixCenters(k),'.mat');
save(filename,grouped);
continue; end
end
fisher_matrix is just matrix of doubles, sixCenters is a 6x1 cell, containing charachters like "NYU", "Lond".. The way I construct filename, it is indicated as char, so the line where I want to save the matrix "grouped" throws the following error:
Error using save
Argument must contain a string.
Error in example_Script(line 22)
save(filename,grouped);
What can I do? Thanks
0 commentaires
Réponse acceptée
Image Analyst
le 10 Sep 2015
Try this:
folder = pwd; % or whatever you want.
for k = 1 : length(sixCenters)
grouped(:, :, k) = fisher_matrix;
baseFileName = sprintf('%s.mat', sixCenters{k});
fullMatFileName = fullfile(folder, baseFileName);
save(fullMatFileName, 'grouped');
end
0 commentaires
Plus de réponses (1)
Hamoon
le 9 Sep 2015
you should pass the string of the name of your variable, use this:
save(filename,'grouped');
2 commentaires
Hamoon
le 9 Sep 2015
Modifié(e) : Image Analyst
le 10 Sep 2015
oh, you've got problem with filename too. you should use braces instead of parentheses for a cell array to get its value, when you use parentheses you refer to a cell with one dimension. So rewrite that section of your code as:
filename = strcat(sixCenters{k},'.mat');
and also you need to do what I said before:
save(filename,'grouped');
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!