回 帖 发 新 帖 刷新版面

主题:如何让printf按行输出

下面是程序段:
fid=fopen('data.txt','r+')
load data.txt
data=data*70
fprintf(fid,'%f %f %f\n',data)
fclose(fid)
(data.txt里面是个29*3矩阵)
发现结果是按列输出的,求教:加入什么程序段让printf按行输出?

回复列表 (共2个回复)

沙发

fid=fopen('data.txt','r+')
load data.txt
data=data'
data=data*70
fprintf(fid,'%f %f %f\r\n',data)
fclose(fid)

这是目前我找到的一个解决办法,
其中fprintf(fid,'%f %f %f\r\n',data)这一句中只有\r\n才能实现换行的目的,\n无效,原理我弄不懂,望高人指教。

板凳

跟fprintf(fid,'%f %f %f\r\n',data)这一句没关系,你去掉这句照样输出
你在data=data'中转置了才按行输出。
MATLAB本身是按列输出的

我来回复

您尚未登录,请登录后再回复。点此登录或注册