How to write multiple outputs to a .txt file?

3 views (last 30 days)
Hi,
my task is to create a .txt file containing an header (strings +numbers) and a then a matrix, semicolumns separated.
That's my code:
string_outp= [string(app.file_geo), "from", string(from_value), "to", string(to_value), ".geo.txt"];
output_file_name= join(string_outp, "_")
fid = fopen(string(output_file_name),'wt');
fprintf(fid, '%s\n', app.geo_header); % Writes the header correctly
R_mod=vertcat(app.R(from_value:to_value, :));
writematrix(R_mod, string(output_file_name))% Writes the matrix correctly
fclose(fid);
problem is: the writematrix commanda overwrites the header.
How to write the header and then the matrix?
Thanks in advance,
Alessandro

Accepted Answer

Jan
Jan on 9 Feb 2021
Edited: Jan on 9 Feb 2021
string_outp= [string(app.file_geo), "from", ...
string(from_value), "to", string(to_value), ".geo.txt"];
output_file_name= join(string_outp, "_")
fid = fopen(output_file_name, 'wt');
fprintf(fid, '%s\n', app.geo_header); % Writes the header correctly
fclose(fid);
R_mod = vertcat(app.R(from_value:to_value, :));
writematrix(R_mod, output_file_name, 'WriteMode', 'append')
So close the file and append the matrix.
Are you sure, that vertcat is needed to contruct R_mod?

More Answers (0)

Categories

Find more on Data Import and Export in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!