Info

이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.

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

조회 수: 1 (최근 30일)
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.

답변 (0개)

이 질문은 마감되었습니다.

태그

Community Treasure Hunt

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

Start Hunting!

Translated by