首页 > 编程笔记 > MATLAB笔记 阅读:18

MATLAB dlmwrite()和dlmread()的用法(附带实例)

为处理文本文件,MATLAB 还提供了多种处理函数,使用不同的格式读取不同数据类型的文本文件。本节讲解常用的 dlmwrite() 和 dlmread() 的用法。

MATLAB dlmwrite()函数

在 MATLAB 中,利用 dlmwrite() 函数可以向文档中写入数据,功能强于 csvwrite() 函数。

dlmwrite() 函数的调用格式如下:
表:dlmwrite() 函数可以指定的参数
参数名 功能
delimiter 用于指定分隔符
newline 用于指定换行符,可以选择“PC”或“UNIX”
rroffset 行偏差,指定文件第一行的位置,rroffset的基数为0
coffset 列偏差,指定文件第一列的位置,coffset的基数为0
precision 指定精确度,可以指定精确维数,或者采用C语言的格式,如“%17.5f”

【实例】 dlmwrite() 函数的应用示例。在命令行窗口中输入如下代码,并保存为 M 文件。
clear all
m=rand(4);
dlmwrite('myfile2.txt',m,'delimiter','\t','precision',5)  %指定精确度
type myfile2.txt
dlmwrite('myfile4.txt',m,'delimiter','\t','precision',3)  %指定精确度
type myfile4.txt
运行后,输出结果如下:
0.24352 0.25108 0.83083 0.28584
0.92926 0.61604 0.58526 0.7572
0.34998 0.47329 0.54972 0.75373
0.1966 0.35166 0.91719 0.38045

0.244 0.251 0.831 0.286
0.929 0.616 0.585 0.757
0.35 0.473 0.55 0.754
0.197 0.352 0.917 0.38

【实例】向文件中写入多行数据。在命令行窗口中输入如下代码,并保存为 M 文件。
clear all
M = magic(3);
dlmwrite('myfile5.txt', [M*5 M/5], ' ')
type myfile5.txt                   %输出 myfile5.txt 进行第一次观察
dlmwrite('myfile5.txt', rand(3), '-append', 'rroffset', 1, 'delimiter', ' ')
type myfile5.txt                   %输出 myfile5.txt 进行第二次观察
运行后,输出结果如下:
%输出 myfile5.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

%输出 myfile5.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.56782 0.5308 0.12991
0.075854 0.77917 0.56882
0.05395 0.93401 0.46939

MATLAB dlmread()函数

在 MATLAB 中,利用 dlmread() 函数可以从文档中读取数据,其调用格式如下:
M=dlmread(fName)
M=dlmread(fName,delimiter)
M=dlmread(fName,delimiter,R,C)
M=dlmread(fName,delimiter,range)

dlmread() 函数与 csvread() 函数的差别在于,dlmread() 函数在读取数据时可以指定分隔符,如果不指定,则默认分隔符为逗号。


【实例】dlmread() 函数的应用示例。在命令行窗口中输入如下代码,并保存为 M 文件。
clear all
M = gallery('integerdata', 100, [5 8], 0);
dlmwrite('myfi1e.txt', M, 'delimiter', '\t')
m1=dlmread('myfi1e.txt')
m2=dlmread('myfi1e.txt', '\t', 2, 3)
m3=dlmread('myfi1e.txt', '\t', 'c1..G4')
运行后,输出结果如下:
m1 =
96 77 62 41 6 21 2 42
24 46 80 94 36 20 75 85
61 2 93 92 82 61 45 53
49 83 74 42 1 28 94 21
90 45 18 90 14 20 47 68

m2 =
92 82 61 45 53
42 1 28 94 21
90 14 20 47 68

m3 =
62 41 6 21 2
80 94 36 20 75
93 92 82 61 45
74 42 1 28 94

相关文章