Matlab使用fprintf将字符串与表格合并写入单个文本文件的方法
问题解决:Matlab导出混合字符串与表格数据到指定格式文本文件
修正后可直接运行、完全匹配输出要求的代码如下:
clc; clear all; close all; ElmentsNum = "M=5"; x = (1:5)'; y =(21:25)'; t = table(x,y); M = "5points"; % 打开文件时指定写入权限 fileID = fopen('E:/Data.txt','w'); % 写入第一行标识 fprintf(fileID,'%s\n',ElmentsNum); % 提取表格数值内容逐行输出 data_arr = table2array(t); for k = 1:size(data_arr,1) fprintf(fileID,'%d %d\n',data_arr(k,1),data_arr(k,2)); end % 写入最后一行标识 fprintf(fileID,'%s\n',M); fclose(fileID);
核心修改说明
- 原脚本
fopen未指定写入权限,默认是只读模式无法写入内容,新增'w'参数开启覆盖写入权限 - 修正换行符拼写错误:Matlab中换行转义符为
\n而非/n - 调整第一行输出字符串为要求的
M=5 - table类型无法直接传入
fprintf格式化输出,先通过table2array转为数值数组再逐行按整数格式输出,去掉了不必要的4位小数格式 - 补全变量定义结尾的分号,避免命令行多余输出
运行上述代码后,生成的E:/Data.txt内容和要求的格式完全一致。
内容的提问来源于stack exchange,提问作者alirazi
相关产品推荐
相关产品推荐

