Taking input data from multiple files

3 views (last 30 days)
Bhaskar
Bhaskar on 23 Sep 2014
Commented: Michael Haderlein on 25 Sep 2014
Hey everyone I have multiple files by the name of outputfile0001.txt, outputfile0002.txt ... upto outputfile0060.txt . each file has a structure like this:
  1. 0.26630448E-08 0.62768422E+00
  2. 0.30589992E-08 0.64235565E+00
  3. 0.35138231E-08 0.65737000E+00
  4. 0.40362683E-08 0.67273529E+00
  5. . .
  6. . .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

Answers (1)

Michael Haderlein
Michael Haderlein on 23 Sep 2014
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 Comments
Bhaskar
Bhaskar on 24 Sep 2014
for fid it shows:
Undefined function or variable 'fid'.
By the way i should mention that i am getting txt files from a fortran 77 program.
Michael Haderlein
Michael Haderlein on 25 Sep 2014
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.

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!