ImmortalxR
ImmortalxR

Reputation: 329

How to name a Matlab output file using input from a text file

I am trying to take an input from a text file in this format:

Processed_kplr010074716-2009131105131_llc.fits.txt
Processed_kplr010074716-2009166043257_llc.fits.txt
Processed_kplr010074716-2009259160929_llc.fits.txt
etc.... (there are several hundred lines)

and use that input to name my output files for a Matlab loop. Each time the loop ends, i would like it to process the results and save them to a file such as:

Matlab_Processed_kplr010074716-2009131105131_llc.fits.txt

This would make identifying the object which has been processed easier as I can then just look for the ID number and not of to sort through a list of random saved filenames. I also need it to save plots that are generated in each loop in a similar fashion. This is what I have so far:

fileNames = fopen('file_list_1.txt', 'rt');
inText = textscan(fileNames, '%s');
outText = [inText]';
fclose(fileNames)

for j:numel(Data)
%Do Stuff
save(strcat('Matlab_',outText(j),'.txt'))
print(Plot, '-djpeg', strcat(outText(j),'.txt'))
end

Any help is appreciated, thanks.

Upvotes: 0

Views: 508

Answers (1)

am304
am304

Reputation: 13876

If you want to use the save command to save to a text file, you need to use -ascii tab, see the documentation for more details. You might also want to use dlmwrite instead(or even fprintf, but I don't believe you can write the whole matrix at once with fprintf, you have to loop over the rows).

Upvotes: 1

Related Questions