matlab怎么读取文本文件中的数据?

2024-05-18 02:26

1. matlab怎么读取文本文件中的数据?

方法一:
A=importdata(file,space,line)
其中,file是所读取的文件名,space是特定的分隔符,line是一个数字,指文本中字符串文字的行数,如上文的数据中line=4。
此代码的含义是,line行是title,line+1行到end是数据,按特定分隔符space读取数据。此方法可以读取文本在上和数据在下的文件。
A是一个sturct,其中A.data就是所需的数据了。
exapmle:
A=importdata('test.txt','
',4);%运行即可取得数据A.data
此方法也可以按以下操作获取:
在文件菜单中选择
file/import
data,按照提示进行操作至结束。
在
command
窗口中输入
>>
whos
Name
Size
Bytes
Class
data
5x4
160
double
array
textdata
4x1
300
cell
array
Grand
total
is
54
elements
using
460
bytes
>>
data
data
=
1
11
111
1111
2
22
222
2222
3
33
333
3333
4
44
444
4444
5
55
555
5555
>>
textdata
textdata
=
'你好'
'欢迎来到'
'百思论坛'
'www.baisi.net'
方法二:
[a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4)
说明:%s可以是其他形式,跟读入的数据类型有关,比如这里也可以用%d,%f等。
这里%s的个数和[a1,a2,a3,a4]对应。
>>
[a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4)
a1
=
'1'
'2'
'3'
'4'
'5'
a2
=
'11'
'22'
'33'
'44'
'55'
a3
=
'111'
'222'
'333'
'444'
'555'
a4
=
'1111'
'2222'
'3333'
'4444'
'5555'
因以字符串的形式读入,所以有''。
文件内容形式二(假定文件名为test2.txt):
你好
1
11
111
1111
欢迎来到
2
22
222
2222
百思论坛
3
33
333
3333
www.baisi.net
4
44
444
4444
5
55
555
5555
说明:这种内容格式的文件用上面的方法是不行的。
方法三:
以下是由chinamaker编写的一种方法,但是需要重新建一个文本。
fidin=fopen('test2.txt');
%
打开test2.txt文件
fidout=fopen('mkmatlab.txt','w');
%
创建MKMATLAB.txt文件
while
~feof(fidin)
%
判断是否为文件末尾
tline=fgetl(fidin);
%
从文件读行
if
double(tline(1))>=48&&double(tline(1))<=57
%
判断首字符是否是数值
fprintf(fidout,'%s\n\n',tline);
%
如果是数字行,把此行数据写入文件MKMATLAB.txt
continue
%
如果是非数字继续下一次循环
end
end
fclose(fidout);
MK=importdata('MKMATLAB.txt');
%
将生成的MKMATLAB.txt文件导入工作空间,变量名为MK,实际上它不显示出来
>>
MK
MK
=
1
11
111
1111
2
22
222
2222
3
33
333
3333
4
44
444
4444
5
55
555
5555

matlab怎么读取文本文件中的数据?

2. Matlab如何读取文本文件

1、首先,这里举例自己先制作一个txtde 文本文件,如下面页面的内容。

2、将文本文件放入matlab的工作路径,方便读取操作。例如,如果我的文本文件在桌面上,我可以将matlab的工作路径更改为桌面。具体方法是单击matlab当前工作路径后的省略号,弹出选项选择文件夹,然后选择相应的路径。

3、接下来,我们使用importdata函数来读取文件。例如,我想读取一个名为data的文本文件,可以在命令窗口中输入:数据= IMPORTDATA( 'data.txt中')。

4、结果表明数据是一个结构数组。在这一点上,我们可以看看结构的每个部分代表什么。如下图所示,第一个数组表示文本文件的数量,第二个和第三个数组表示文本文件中的中文字符。此时,每个人都可以根据需要引用相应的数组。

5、除了上述功能外,您还可以使用textread函数进行读取。使用此功能时,可以指定输出内容各部分的格式,具体用法是[a,b,c,d] = textread('data.txt','%2s%.3f%.3f%.3f')。
其中,textread的第二个引号表示输出内容的格式。例如,%2s表示第一列的输出格式是单元格数组形式,%。3f表示输出数字保留3个小数位。