How to save output of double loop?
2 次查看(过去 30 天)
显示 更早的评论
If I have
for i=1:n
....
for j=1:m
A=myfunction(...);
end
end
The resultant A's are images, I want to save all A.s in the folder
I have tried the following but it only store A only for j
for i=1:n
....
for j=1:m
A=myfunction(...);
end
imwrite(A,strcat('The folder where I want to store ',num2str{j},'.png'));
end
How to store the output A of double loop ?
0 个评论
采纳的回答
Mohammad Sami
2021-9-17
编辑:Mohammad Sami
2021-9-17
You should use the fullfile function to create the filepath. Your call to imwrite function is in the outer for loop, hence it will only save once per outer loop. You should call it in the inner loop to save all. Also to avoid overwriting the files, you need both i and j values in the filename.
dirtosave = 'C:\mydir\';
for i=1:n
....
for j=1:m
A=myfunction(...);
fname = sprintf('A_i_%i_j_%i.png',i,j);
imwrite(A,fullfile(dirtosave,fname));
end
end
更多回答(1 个)
KSSV
2021-9-17
A = zeros(n,m) ;
for i=1:n
for j=1:m
A=myfunction(...); % assuming output of the function is 1x1
end
end
imwrite(A,strcat('The folder where I want to store ',num2str{j},'.png'));
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!