MATLAB中dlmread函数用法
目录
????????dlmread函数的功能是将 ASCII 分隔的数值数据文件读取到矩阵。
语法
M = dlmread(filename)
M = dlmread(filename,delimiter)
M = dlmread(filename,delimiter,R1,C1)
M = dlmread(filename,delimiter,[R1 C1 R2 C2])
说明
M = dlmread(filename) 将 ASCII 分隔的数值数据文件读取到矩阵 M。dlmread 函数从该文件中检测到分隔符,并将重复的空白视为一个分隔符。
M = dlmread(filename,delimiter) 使用指定的分隔符读取该文件中的数据,并将重复的分隔符视为单独的分隔符。
M = dlmread(filename,delimiter,R1,C1) 从行偏移量 R1 和列偏移量 C1 开始读取。例如,偏移量 R1=0、C1=0 指定文件中的第一个值。
????????要指定行和列的偏移量而不指定分隔符,请将空字符用作占位符,例如 M = dlmread(filename,'',2,1)。
M = dlmread(filename,delimiter,[R1 C1 R2 C2]) 仅读取行偏移量 R1 和 R2 及列偏移量 C1 和 C2 界定的范围。另一种定义范围的方法是使用电子表格表示法(例如 'A1..B7')而非 [0 0 6 1]。
示例
读取整个带分隔符的文件
????????读取示例文件 count.dat。
M = dlmread('count.dat')
M = 24×3
11 11 9
7 13 11
14 17 20
11 13 9
43 51 69
38 46 76
61 132 186
75 135 180
38 88 115
28 36 55
?
dlmread 从文件中检测分隔符并返回一个矩阵。
读取包含空的分隔字段的文件
????????将两个矩阵写入到文件中,然后使用?dlmread?读取整个文件。
????????将矩阵导出到名为?myfile.txt?的文件中。然后将另外一个矩阵追加到该文件中第一个矩阵往下偏移一行的位置。
X = magic(3);
dlmwrite('myfile.txt',[X*5 X/5],' ')
dlmwrite('myfile.txt',X,'-append', ...
'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
8 1 6
3 5 7
4 9 2
????????使用 dlmread 读取整个文件。
M = dlmread('myfile.txt')
M = 6×6
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
8.0000 1.0000 6.0000 0 0 0
3.0000 5.0000 7.0000 0 0 0
4.0000 9.0000 2.0000 0 0 0
????????dlmread 导入包含非矩形数据的文件时,它用零填充空文件。
从特定行和列偏移量开始读取带分隔符的文件
????????创建一个名为 dlmlist.txt 的文件,其中包含列标题和空格分隔值。
test max min direction
10 27.7 12.4 12
11 26.9 13.5 18
12 27.4 16.9 31
13 25.1 12.7 29
????????读取文件中的数值。指定空格分隔符、行偏移量 1 和列偏移量 0。
filename = 'dlmlist.txt';
M = dlmread(filename,' ',1,0)
M =
10.0000 27.7000 12.4000 12.0000
11.0000 26.9000 13.5000 18.0000
12.0000 27.4000 16.9000 31.0000
13.0000 25.1000 12.7000 29.0000
读取带分隔符的文件中的特定范围
????????创建一个名为 dlmlist.txt 的文件,其中包含列标题和空格分隔值。
test max min direction
10 27.7 12.4 12
11 26.9 13.5 18
12 27.4 16.9 31
13 25.1 12.7 29
仅读取文件中最后两行的数值数据。
M = dlmread('dlmlist.txt',' ',[3 0 4 3])
M =
12.0000 27.4000 16.9000 31.0000
13.0000 25.1000 12.7000 29.0000
参数说明
filename — 文件名
????????文件名,指定为字符向量或字符串。
delimiter — 字段分隔符
????????字段分隔符,指定为字符向量或字符串。使用 '\t' 指定制表符分隔符。
R1 — 起始行偏移量
????????起始行偏移量,指定为非负整数。第一行的偏移量为 0。
C1 — 起始列偏移量
????????起始列偏移量,指定为非负整数。第一列的偏移量为 0。
R2 — 结束行偏移量
????????结束行偏移量,指定为非负整数。第一行的偏移量为 0。
C2 — 结束列偏移量
????????结束列偏移量,指定为非负整数。第一列的偏移量为 0。
提示
-
通过指定行和列偏移量跳过标题行或列。文件而非标题中的所有值必须是数值。
算法
????????dlmread?用零填充空的分隔字段。当?dlmread?函数读取其行以非空格分隔符(例如分号)结尾的数据文件时,它返回矩阵?M,该矩阵包含由零组成的额外最后一列。
????????dlmread?将任何复数作为一个整体导入到复数字段中。此表中显示了复数的有效形式。
形式 | 示例 |
---|---|
±<real>±<imag>i|j | 5.7-3.1i |
±<imag>i|j | -7j |
????????复数中的嵌入空白无效,dlmread 将它视为字段分隔符。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!