MATLAB中的数据写入函数dlmwrite dlmread
2013-03-12 23:26
411 查看
MATLAB中的数据写入函数dlmwrite
dlmwrite
功能简介
将矩阵写入ASCII分隔的文件。
使用方法
1.dlmwrite(filename, M)使用默认的分隔符(')将矩阵M写入ASCII格式的文件中。在目标文件filname中,数据是从第一行的第一列开始写的。输入的filename是使用单引号括起来的字符串。 matlab
2.dlmwrite(filename, M, 'D') matabc
将矩阵M写入一个ASCII格式的文件中,使用分隔符D来分割矩阵的元素。在目标文件filname中,数据是从第一行的第一列开始写的。逗号'是默认的分隔符,使用\t来产生制表符分割的文件。
3.dlmwrite(filename, M, 'D', R, C)
将矩阵M写入一个ASCII格式的文件中,使用分隔符D来分割矩阵的元素。在目标文件filname中,数据是从第R行的第C列开始写的,R和C从0开始,因此R=0,C=0指定了文件中的第一个数值,即左上角的位置。 matabc
4.dlmwrite(filename, M, 'attrib1', value1, 'attrib2', value2, ...) matabc
是下面所示的替代语法,在其中用户可以在参数列表中指定多个属性-数值对。每个属性后面必须跟一个相应的值(见下表)。
matabc
属性值 | |
delimiter | 分隔符的字符串,用于分割矩阵的元素 |
newline | 每行终止使用字符(S)(见下表) matlab |
roffset | Offset,在目标文件中矩阵数据开始写的行,offset 是基于0的 为零。 |
coffset | Offset在目标文件中矩阵数据开始写的行,offset是基于0的 matlab |
precision | 将数据写入到文件所使用的数值精度。指定有效位数或C风格的格式化字符串%开始,如'%10.5f'的数量。 |
行终止 | 描述 |
'pc' | 'pc'终结(意味着回车/换行符(CR/LF)) |
'unix' | 'unix' 终结(意味着换行符(LF)) |
将矩阵数据追加到文件的末尾。如果你不指定''-append',dlmwrite覆盖文件中的任何现有数据。
7.dlmwrite(filename, M, '-append', attribute-value list)
接受一个属性值对列表。用户可以将'-append'标志放在属性-数值对之间,但不能放在属性和它的值的中间。matabc
备注
生成的文件是可读的电子表格程序。或者,如果您的系统为Windows安装Excel,您可以创建一个电子表格使用xlswrite。
该dlmwrite函数不接受输CELLM要导出一个单元格数组中只包含数字数据,使用cell2mat矩阵转换为数字的单元格,然后再调用dlmwrite数组。对于其他情况下,使用低级别的导出功能。欲了解更多信息,请参阅导出到一个单元格数组文本文件在MATLAB数据导入和导出文件。
应用举例
示例1
输出矩阵M到使用制表符分割的文件,使用6个有效数字精度:dlmwrite('myfile.txt', M, 'delimiter', '\t', ...
'precision', 6)
type myfile.txt
matlab
0.893898 0.284409 0.582792 0.432907
0.199138 0.469224 0.423496 0.22595
0.298723 0.0647811 0.515512 0.579807
0.661443 0.988335 0.333951 0.760365
matlab
例2
输出矩阵M到一个使用6位十进制长度和传统的用于PC终止符的文件:
dlmwrite('myfile.txt', m, 'precision', '%.6f', ...
'newline', 'pc')
type myfile.txt
16.000000,2.000000,3.000000,13.000000 matlab
5.000000,11.000000,10.000000,8.000000
9.000000,7.000000,6.000000,12.000000
4.000000,14.000000,15.000000,1.000000
matlab
例3
输出矩阵M到一个文件,然后追加一个另外的矩阵到第一个矩阵下方的隔一行处:
M = magic(3);
dlmwrite('myfile.txt', [M*5 M/5], ' ')
dlmwrite('myfile.txt', rand(3), '-append', ...
matabc
'roffset', 1, 'delimiter', ' ')
type myfile.txt
40 5 30 1.6 0.2 1.2
15 25 35 0.6 1 1.4
20 45 10 0.8 1.8 0.4
0.81472 0.91338 0.2785
0.90579 0.63236 0.54688
0.12699 0.09754 0.95751
当dlmread从文件中导入这两个矩阵时,小的矩阵使用0补齐: matlab
dlmread('myfile.txt')
40.0000 5.0000 30.0000 1.6000 0.2000 1.2000
15.0000 25.0000 35.0000 0.6000 1.0000 1.4000
20.0000 45.0000 10.0000 0.8000 1.8000 0.4000
0.8147 0.9134 0.2785 0 0 0
0.9058 0.6324 0.54
相关文章推荐
- MATLAB 输出函数及导出数据(dispfprintf,dlmwrite,xlswrite)
- MATLAB ——输出函数及导出数据(dispfprintf,dlmwrite,xlswrite
- 【转】Matlab函数dlmwrite:将一个矩阵写入文件的函数
- 在Java中如何读取用MATLAB的fwrite()函数写入文件的数据
- C语言snprintf()函数:将格式化的数据写入字符串—sprintf()
- matlab 函数或者GUI从工作空间读取参数数据
- Matlab中xlsread 函数读取excel表格数据或者字符串
- matlab中读取图中数据 并将其写入文本
- matlab如何导入csv文件及matlab支持的数据格式,相应函数
- put()函数把数据顺序写入文件
- MATLAB文件I/O操作——新建TXT并写入数据
- 通过调用同一个函数(参数不同)将数据写入文件和显示到屏幕上
- matlab读取写入图像数据格式uint8,double
- Matlab中使用sub2ind函数访问数据
- Matlab中读取文件中数据的函数用法
- matlab中用于统计矩阵数据频率,出现次数的函数
- Matlab数据的可视化 -- 线性图函数plot
- 用matlab实现自定义函数的数据拟合
- Matlab函数间通过workspace进行数据共享的方法
- matlab向表单文件(xls文件)写入数据