MATLAB csvread()和csvwrite()的用法(附带实例)
为处理文本文件,MATLAB 还提供了多种处理函数,使用不同的格式读取不同数据类型的文本文件。本节讲解常用的 csvread() 和 csvwrite() 的用法。
csvread() 函数的调用格式如下:
【实例】csvread() 函数的使用。在命令行窗口中输入如下代码,并保存为 M 文件。
csvwrite() 函数不返回任何值,其调用格式如下:
【实例】将数组 m 写入 csvlist.dat 文件中。在命令行窗口中输入如下代码,并保存为 M 文件。
【实例】将数组 m 写入 csvlist.dat 文件中,并在数据链前添加两个数据列。
【实例】将数组 m 写入 csvlist.dat 文件中,并在数据链前添加3个数据列,在数据列上方添加两个数据行。
MATLAB csvread()函数
在 MATLAB 中,利用 csvread() 函数可以将文件中的数据读入。csvread() 函数的调用格式如下:
- M=csvread('fName'):将文件 fName 中的数据读入,并且保存为 M 文件。fName 文件中只能包含数字,并且数字之间以逗号分隔。M 是一个数组,其行数与 fName 的行数相同,列数为 fName 列的最大值;对于元素不足的行,以 0 补充。
- M=csvread('fName', row, col):读取文件 fName 中的数据,起始行为 row,起始列为 col。需要注意的是,此时的行、列均从 0 开始。
- M=csvread('fName', row, col, range):读取文件 fName 中的数据,起始行为 row,起始列为 col。读取的数据由数组 range 指定,range 的格式为 [R1 C1 R2 C2]。其中,R1、C1 为读取区域左上角的行和列,R2、C2 为读取区域右下角的行和列。
【实例】csvread() 函数的使用。在命令行窗口中输入如下代码,并保存为 M 文件。
clear all M1=csvread('txtlist.dat') M2=csvread('txtlist.dat',2,0) M3=csvread('txtlist.dat',2,0,[2,0,3,3])运行后,输出结果如下:
M1= 1 6 11 16 21 26 2 7 12 17 22 27 3 8 13 18 23 28 4 9 14 19 24 29 5 10 15 20 25 30 M2= 3 8 13 18 23 28 M3= 3 8 13 18 4 9 14 19这段代码使用了 csvread() 函数从文件 txtlist.dat 中读取数据,并存储到矩阵 M1、M2 和 M3 中。
MATLAB csvwrite()函数
在 MATLAB 中,csvwrite() 函数可以实现在写入数据时,每一行以换行符结束。csvwrite() 函数不返回任何值,其调用格式如下:
- csvwrite('fName', M):将数组 M 中的数据保存为文件 fName,数据间以逗号分隔。
- csvwrite('fName', M, row, col):将数组 M 中的指定数据保存在文件中,数据由参数 row 和 col 指定,保存 row 和 col 右下角的数据。
【实例】将数组 m 写入 csvlist.dat 文件中。在命令行窗口中输入如下代码,并保存为 M 文件。
clear all clc m=[1,2,3,4,5,6;7,8,9,10,11,12;13,14,15,16,17,18]; csvwrite('csvlist.dat',m) type csvlist.dat运行后,输出结果如下:
1,2,3,4,5,6 7,8,9,10,11,12 13,14,15,16,17,18
【实例】将数组 m 写入 csvlist.dat 文件中,并在数据链前添加两个数据列。
clear all m=[1,2,3,4,5,6;7,8,9,10,11,12;13,14,15,16,17,18]; csvwrite('csvlist.dat',m,0,2) type csvlist.dat运行后,输出结果如下:
,,,1,2,3,4,5,6 ,,7,8,9,10,11,12 ,,13,14,15,16,17,18
【实例】将数组 m 写入 csvlist.dat 文件中,并在数据链前添加3个数据列,在数据列上方添加两个数据行。
clear all m=[1,2,3,4,5,6;7,8,9,10,11,12;13,14,15,16,17,18]; csvwrite('csvlist.dat',m,2,3) type csvlist.dat运行后,输出结果如下:
,,,,,,,, ,,,,,,,, ,,,1,2,3,4,5,6 ,,,7,8,9,10,11,12 ,,,13,14,15,16,17,18