Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

The loop in my code is taking longer time. Any way to make it faster? or any other faster way?

1 vue (au cours des 30 derniers jours)
aneps
aneps le 6 Juin 2014
Clôturé : MATLAB Answer Bot le 20 Août 2021
I have to read almost 22 files (.asc format). I made a loop to put all those in a cell array and make the histogram. But unfortunately, this is taking almost 5 minutes!!! This is because the files are larger in size. If I am not making a loop and call them in separate lines (load),without making a cell, concatenate each line into a single matrix, it take only less than 3 minutes. But calling 22 files in separate lines make the code much longer and difficult if I have even more files! Please suggest me a faster method. My code is given below:
for k=1:22
A{k} = load(['E:/MatlabData/Data/file',num2str(k),'.asc']);
end
B=cat(1,A{:});
This code is easy but too slow (~5 minutes if I have 22 files). Instead of this code, if I call the data like following:
A=load('E:/MatlabData/Data/file1.asc');
B=load('E:/MatlabData/Data/file2.asc');
...
...
...
V=load('E:/MatlabData/Data/file22.asc');
B=cat(1,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V);
This make the code faster. Any other way than this to call the files and concatenate in a faster way?
  6 commentaires
aneps
aneps le 7 Juin 2014
Modifié(e) : aneps le 7 Juin 2014
@Geoff Hayes: Yes, drive E is in my computer. The file size vary from 185 kB to 145 MB! Thank you.
aneps
aneps le 7 Juin 2014
@Matt J: It is still the same! thanks.

Réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by