MATLAB Answers

Create results .txt files with loop

5 views (last 30 days)
Ivan Mich
Ivan Mich on 17 May 2020
Commented: Ivan Mich on 19 May 2020
I am making calculations by reading a .txt file. "data1.txt"
data1.txt has this format:
5
10
I am reading the first line of data1.txt the number a=.... after that I am making the calculation c=a+b, where b=5.
I would like to create 2 txt files, one with the result of the first calculation (I mean c=a+b=5+5=10), and one .txt file the result of the second calculation (I mean c=a+b=10+5=15).
How can I do that?

  0 Comments

Sign in to comment.

Accepted Answer

Stijn Haenen
Stijn Haenen on 19 May 2020
you can create txt files with:
FP=fopen(sprintf('test%g.txt',1),'wt');
fprintf(FP,num2str(data));
fclose(FP);

  2 Comments

Ivan Mich
Ivan Mich on 19 May 2020
One more question. If I want to merge them? I mean I want to have after all iteration to unit test1, test2.txt, to one .txt file with all the results. I mean final .txt file to have vertically the result of test1.txt,
in the second line the results of test2.txt etc.
How could I do that?

Sign in to comment.

More Answers (1)

Johannes Hougaard
Johannes Hougaard on 19 May 2020
Yes you should use fprintf - but you need a format input as well to get new lines.
textfile = 'data1.txt';
fid = fopen(textfile);
filecontent = textscan(fid,'%s','delimiter','\n');
fclose(fid);
a = cellfun(@str2double,filecontent{1});
b = 5;
c = a+b;
fid=fopen('data2.txt','wt+');
fprintf(fid,'%d\n',c);
fclose(fid);

  0 Comments

Sign in to comment.