Info

この質問は閉じられています。 編集または回答するには再度開いてください。

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

1 回表示 (過去 30 日間)
aneps
aneps 2014 年 6 月 6 日
閉鎖済み: MATLAB Answer Bot 2021 年 8 月 20 日
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 件のコメント
aneps
aneps 2014 年 6 月 7 日
編集済み: aneps 2014 年 6 月 7 日
@Geoff Hayes: Yes, drive E is in my computer. The file size vary from 185 kB to 145 MB! Thank you.
aneps
aneps 2014 年 6 月 7 日
@Matt J: It is still the same! thanks.

回答 (0 件)

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by