文章目录
1. 读数据
- load: 适合读取纯数据文本;
- importdata: 只读取数据,自动省略数据格式前后的字符,超大文件不适合;
- textread/textscan:适合读取行列规整的文本,会存到元胞中,可通过headerlines省略读取字段名(字符行);
- csvread/dlmread: 适合读取csv、xsl等文件格式文本;
- fprintf/fscanf: 适合读取复杂的文本(中英文、数字串混杂出现);
1.1 load 方法
A = load test.txt
1.2 importdata 方法
未完待续
2. 写数据
2.1 save 函数
a = [1,2,3;4,5,6];
save C:\Users\xxx\Desktop\a.txt -ascii a
或为如下形式
filename = 'C:\Users\xxx\Desktop\b.txt';
save(filename,'a','-ascii');
此时数据以指数形式保存
2.2 dlmwrite 函数
% 用默认的分隔符(逗号)将整个矩阵M写到文件名为filename的文本文件中
dlmwrite(filename, M)
% 用分隔符D(缺省为逗号,制表符可以用\t表示)将整个矩阵M写到filename文件中
dlmwrite(filename, M, 'D')
% 用分隔符D将部分矩阵M写到filename文件中:从矩阵的第R行,第C列开始写到文件中(R、C从零开始计算)。
dlmwrite(filename, M, 'D', R, C)
% 按一定的选项将矩阵M写到filename文件中,其中attrib1和value1为属性对,属性对参看下表。
dlmwrite(filename, M, 'attrib1', value1, 'attrib2', value2, ...)
% 在文件的末端输出矩阵M。如果没有指定-append选项,dlmwrite会覆盖已经存在的文件。
dlmwrite(filename, M, '-append')
% 允许使用属性对列表。
dlmwrite(filename, M, '-append', attribute-value list)
属性 | 属性值 |
---|---|
delimiter | 分隔符,用来将矩阵中相邻两个元素分隔开 |
newline | newline的可选值为’pc’和’unix’,该属性与每行的结束符有关。newline为’pc’时,每行以\r\n(回车换行)结束,为’unix’时,每行以\n(换行)结束。 |
roffset | 输出的矩阵数据前面所加的空行数 |
coffset | 输出的矩阵数据前面所加的空列数 |
precision | 输出的矩阵数据的精度,指定数据的有效数位或以C语言风格的格式输出(以%开始,如’%10.5f’) |
例子:
dlmwrite('filename.txt', M,'delimiter','\t','precision','%18.15f');