先来看看txt文档中保存的数据结构,如图所示,数据之间用空格隔开,这种结构是比较理想的。可以直接导入。或者数据之间用逗号、分号、tab符号等等,都算作比较理想的。
接着我们打开MATLAB,在file菜单下找到import data选项
打开一个浏览窗口,找到你要导入的txt文件
找到txt文件以后,选中它,然后点击打开按钮,别着急,还没完。
打开数据导入向导,我们首先要选择是什么符号隔开了数据,这里自动的使用了空格作为间隔符,还可以使用comma(逗号)、semicolon(分号)、tab(四个空格)、其他符号。
接着,我们设置标题行,我们看下面的数据是没有标题的,所以设置成0
选择要导入的变量,我们这里只有一种,就选择这个就可以了,点击finish
这里就是我们导入的变量,在工作空间中可以看到。
importdata根据文件名将数据导入到Matlab工作区。可以导入文件类型有很多,.txt .wav 等等。导入的数据(包括字符串和数值)以结构形式存放在工作区,可以使用whos命令来查看工作区的数据。
importdata可以导入load不能读取的长短不一的ASCII文件。当文件中既包含字符串又包含数值,而且数值长度个数不一时,可以使用importdata命令。注意读取的数值矩阵列数以文件中数值第一行的列数为标准。
例 test.txt
This is a test.
Start
0 1 2
1 2
1 2 3 4
运行A=importdata('test.txt')
结果:
A =
data: [4x3 double]
textdata: {2x1 cell}
A.data =
0 1 2
1 2 NaN
1 2 3
4 NaN NaN
A.textdata =
'This is a test.'
'Start'
另外,读取的字符串只能位于数值之前,位于数值之后的将被忽略。
例:test.txt
0 1 2
1 2
1 2 3 4
End.
运行A=importdata('test.txt')
结果:
A =
0 1 2
1 2 NaN
1 2 3
4 NaN NaN
有三种常见的方式:
1. A=importdata('filename.txt') 则A就是n*m的矩阵了;
2.load filename.txt 这样也是载入n*m的矩阵;
3.在MATLAB的work文件夹下,选择想要导入的数据,用右键importdata,根据向导一步一步导入即可。
①对于纯数字的行列整齐的文本,可以用load或importdata读取
②对于行列整齐但含有首行或首列字符串的文本,可以用importdata读取
③对于文件内容不是行列整齐的文本,或者其他条件导致不足以使用以上两条读取的情况,则只能使用流文件操作(fopen、fscanf、fgetl等)来逐行读取