多语言展示
当前在线:962今日阅读:82今日分享:48

MATLAB读取txt文件的缺测值、分隔符和重新赋值

在txt格式的文本文件中,有时存在缺测值(如NAN)和分隔符(如逗号,分号等),为了正确读取txt文件,本文分享MATLAB读取txt数据文件中的缺测值、分隔符和重新赋值的方法。
工具/原料
1

MATLAB

2

txt

3

textscan

4

TreatAsEmpty

5

EmptyValue

6

delimiter

方法/步骤
1

第一,准备数据。新建文本文档,命名为test1.txt,并输入下图中的数据。

2

第二,MATLAB读取文本文件test1.txt,并将其中的缺测值(NAN)重新赋值为0。启动MATLAB,新建脚本(Ctrl+N),输入如下代码:close all; clear all; clcfileID=fopen('test1.txt');C=textscan(fileID,'%f %f %f %f',...    'TreatAsEmpty',{'NAN'},'EmptyValue',0);fclose(fileID);format compactcelldisp(C)其中'TreatAsEmpty',{'NAN'}是把缺测值(NAN)视为空,'EmptyValue',0是把空赋值为0.

3

第三,保存和运行上述脚本,在命令行窗口得到如下数据结果,同时双击工作区(Work Place)中的元胞数组C也可以查看数据。C{1} =    11    35    15C{2} =    15     0    75C{3} =    35    55     0C{4} =    55    85    65以上数据读取正确,并且把文本文件test1.txt中缺测值(NAN)重新赋值为0.

5

第五,加入'delimiter',','后的脚本如下图。

6

第六,保存和运行上述脚本,在命令行窗口得到如下结果:C{1} =    11    35    15C{2} =    15     0    75C{3} =    35    55     0C{4} =    55    85    50这说明数据用逗号或分号隔开的文本文件test1.txt被成功读取。

注意事项

将缺测值(NAN)赋值为0时,用到( 'TreatAsEmpty',{'NAN'},'EmptyValue',0)这句代码。

推荐信息