Reading Data from more than 2000 txt files in matlab
정보
이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.
이전 댓글 표시
I have more than 3000 Data txt files. I create the name for these file according to special rate h=[1]; k+=[0.1 0.2 0.4 0.7 1 1.1 1.2 1.5 1.7 2 2.5 3 3.5 4 5]; K-T=[1e-6 0.1 0.2 0.4 0.7 1 1.1 1.2 1.5 1.7 2 2.5 3 3.5 4 5]; K-D=[1e-6 0.1 0.2 0.4 0.7 1 1.1 1.2 1.5 1.7 2 2.5 3 3.5 4 5];
The Name of each files like this one (MTN100_k+0.1_k-T_0.1_k-D0.4_h1_GTP0.txt) How can I read these files in Matlab. I need to work with each file separately. I tried to use dlmread and fscan but it is not helpful. Any help would be greatly appreciated. I will be grateful to you.
댓글 수: 0
답변 (1개)
Salaheddin Hosseinzadeh
2014년 8월 19일
0 개 추천
Hi Ahmed,
It's really good that the files name has an order, you can use that to write a program to automatically open a specific file.
What you need to do is to open the text file and read it. dlmread and fscan are used after you opened the file, at the end you need to close the file.
I'll add you some links to help you do this.
Good Luck.
댓글 수: 5
Ahmed
2014년 8월 19일
Michael Haderlein
2014년 8월 19일
Hello Ahmed,
so where do you struggle? Reading the file or interpretation of the file name?
As Salaheddin has written, text files can usually be opened with dlmread or, if you need more control, fscan. If the content is very complex, you might need to use fgetl and so on, but we need the structure of the file to help you in this case.
In case you need to work with the file name, you can get all the file names with the dir function and apply textscan on the file names you found.
In any case it doesn't matter if the files have been written in Matlab or C++ or any other language (as long as the encoding is available in Matlab).
Ahmed
2014년 8월 19일
Salaheddin Hosseinzadeh
2014년 8월 19일
편집: Salaheddin Hosseinzadeh
2014년 8월 19일
Ahmed,
You need some programming, just write an algorithm to generate the correct file name automatically.
for example if your file names are
MTN100_k+0.1_k-T_0.1_k-D0.4_h1_GTP0.txt)
MTN100_k+0.1_k-T_0.1_k-D0.4_h1_GTP1.txt)
MTN100_k+0.1_k-T_0.1_k-D0.4_h1_GTP2.txt)
You can generate file names with a single for loop
for i = 0:1:2
fileName = ['MTN100_k+0.1_k-T_0.1_k-D0.4_h1_GTP',num2str(i),'.txt'];
fopen(fileName);
% do the rest of your processing.
fclose(fileName);
end % terminating the for loop
in C++ you put the string together by adding them
str = str1 + str2...;
In MATLAB you can simply concatenate them as follow
str = [str1,str2,str3]
I assumed you're mainly using C++ and not really familiar with how to do the similar things in MATLAB.
Hope this is helpful enough.
이 질문은 마감되었습니다.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!