Matlab写入txt文件
matalb中打开文件:
fid = fopen(文件名,‘打开方式’);
说明:fid用于存储文件句柄值,如果fid>0,这说明文件打开成功。打开方式有如下选择:
‘r’:只读方式打开文件(默认的方式),该文件必须已存在。
‘r+’:读写方式打开文件,打开后先读后写。该文件必须已存在。
‘w’:打开后写入数据。该文件已存在则更新;不存在则创建。
‘w+’:读写方式打开文件。先读后写。该文件已存在则更新;不存在则创建。
‘a’:在打开的文件末端添加数据。文件不存在则创建。
‘a+’:打开文件后,先读入数据再添加数据。文件不存在则创建。
另外,在这些字符串后添加一个“t”,如‘rt’或‘wt+’,则将该文件以文本方式打开;如果添加的是“b”,则以二进制格式打开,这也是fopen函数默认的打开方式。
最基本的写入txt文件方法:
%(matlab 与 C++ 类型指代相同) %d-->int %f-->float %lf-->double %s-->string
a = 4; b = 4.3; c = "name";
fid = fopen(path,"w");
fprintf(fid,"%d %f %s
",a,b,c);
fclose(fid);
如此就完成了最基本的文件写入过程了。当然还有更复杂的写入方法csvwrite和dlmwrite,还未研究过,到时候需要再去研究。
有时候需要将数据输出为固定格式,进行以下试验:
fprintf("%d %f %s
",4,4.3,"name");
4 4.300000 name
fprintf("%4d %f %s
",4,4.3,"name");
4 4.300000 name
%说明4是指这个数字占位大小
fprintf("%4d %f %s
",4444444,4.3,"name");
4444444 4.300000 name
%此时数字本身大小超过4,则按照原大小输出
fprintf("%04d %f %s
",4,4.3,"name");
0004 4.300000 name
%此时以0填充
fprintf("%04d %.1f %s
",4,4.3,"name");
0004 4.3 name
%.1表示输出一位小数
fprintf("%04d %6.1f %s
",4,4.3,"name");
0004 4.3 name
fprintf("%04d %06.1f %s
",4,4.3,"name");
0004 0004.3 name
%此处6表示占位多少,加0就以0填充
以上展示了大部分文件输出的不同格式,基本可以满足各种文件输出的需要
最后,Matlab 还有save函数存储数据
%将此工作空间的所有变量存在test.mat文件中
save test.mat
%存储指定量
savefile = "pqfile.mat";
p = rand(1, 10);
q = ones(10);
save(savefile, "p", "q");
% Save the fields of a structure as individual variables:
s1.a = 12.7;
s1.b = {"abc", [4 5; 6 7]};
s1.c = "Hello!";
save("newstruct.mat", "-struct", "s1");
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 关于Matlab将数据输出为txt文件
- 下一篇: MATLAB-txt读取,输出txt(以矩阵形式)