MATLAB
txt
textscan
TreatAsEmpty
EmptyValue
delimiter
第一,准备数据。新建文本文档,命名为test1.txt,并输入下图中的数据。
第二,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.
第三,保存和运行上述脚本,在命令行窗口得到如下数据结果,同时双击工作区(Work Place)中的元胞数组C也可以查看数据。C{1} = 11 35 15C{2} = 15 0 75C{3} = 35 55 0C{4} = 55 85 65以上数据读取正确,并且把文本文件test1.txt中缺测值(NAN)重新赋值为0.
第五,加入'delimiter',','后的脚本如下图。
第六,保存和运行上述脚本,在命令行窗口得到如下结果: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)这句代码。