Taking input data from multiple files
显示 更早的评论
Hey everyone I have multiple files by the name of outputfile0001.txt, outputfile0002.txt ... upto outputfile0060.txt . each file has a structure like this:
- 0.26630448E-08 0.62768422E+00
- 0.30589992E-08 0.64235565E+00
- 0.35138231E-08 0.65737000E+00
- 0.40362683E-08 0.67273529E+00
- . .
- . .and so on.basically two sets of numeric arrays gi(i) and rri(i)are there in these files.Now what i want is to is from each file plot(rri(),gi()).Any help is appreciated.I tried the code below with error that:'error in opening file'
numfiles = 60; mydata = cell(1, numfiles);
for k = 1:numfiles myfilename = sprintf('outputfinal%d.txt', k); mydata{k} = importdata(myfilename); end
回答(1 个)
Michael Haderlein
2014-9-23
myfilename = sprintf('outputfinal%d.txt', k)
will produce e.g.
outputfinal1.txt
To get the zeros in the filename, use
myfilename = sprintf('outputfinal%04d.txt',k)
Best regards, Michael
6 个评论
Michael Haderlein
2014-9-23
编辑:Michael Haderlein
2014-9-23
Could you please display the content of myfilename by just removing the ";" after the sprintf command? Does it match with the respective file name in your folder?
Also, sometimes single files are missing? Does the error occur at the very first loop iteration or somewhere later? You can enter
dbstop if error
in the command window to stop the program right before failing. Then, you can easily check the values of k and myfilename.
Bhaskar
2014-9-24
Michael Haderlein
2014-9-24
If you open the file via
fid=fopen(fullNameWithPath)
what value does fid have?
Bhaskar
2014-9-24
Michael Haderlein
2014-9-25
I mean, if you write the code line I have provided in the previous comment in your loop, before the importdata line. Then fid will have a value. -1 indicates that it cannot find the file, any other value (>2) indicates that the file can be accessed. Instead, you could also write
dir(fullNameWithPath)
to check if Matlab really finds the file.
类别
在 帮助中心 和 File Exchange 中查找有关 Workspace Variables and MAT Files 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!