首页 > 解决方案 > 使用 fprintf 将字符串和表格合并到一个文本文件 - Matlab

问题描述

如何将以下脚本中生成的信息保存到文本文件中,其中包括以下格式的字符串和表格?

格式:

M=5
1 21
2 22
3 23
4 24
5 25
5points

脚本:

clc;
clear all;
close all;

ElmentsNum = "EM=5";
x = (1:5)';
y =(21:25)';
t = table(x,y);
M = "5points"
  
fileID = fopen('E:/Data.txt');
fprintf(fileID,'%s/n',ElmentsNum)
fprintf(fileID,'%.4f',t)
fprintf(fileID,'%s/n',M)
fclose(fileID)

标签: matlabfileprintf

解决方案


很简单,把表的值提取出来,然后一行一行的写出来:

extracted_table=table2array(t);

fileID = fopen('Data.txt','w');
fprintf(fileID,'%s\n',ElmentsNum);
for ii=1:size(extracted_table,1)
%     fprintf(fileID,'%.4f %.4f\n',extracted_table(ii,:)); % if you want decimal places
    fprintf(fileID,'%d %d\n',extracted_table(ii,:)); % if you want integers (as in the example)
end
fprintf(fileID,'%s\n',M);
fclose(fileID);

推荐阅读