资源描述:
《matlab编程必用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.....Matlab读取CSV文件2014-04-1703:17阅读:42,411环境:MatlabR2009a,Win71、用csvread函数注意:csvread函数只试用与用逗号分隔的纯数字文件第一种:M=CSVREAD('FILENAME'),直接读取csv文件的数据,并返回给M第二种:M=CSVREAD('FILENAME',R,C),读取csv文件中从第R-1行,第C-1列的数据开始的数据,这对带有头文件说明的csv文件(如示波器等采集的文件)的读取是很重要的。第三种:M=CSVREAD('FILENAME',R,C,RNG),其中RNG=[R1C1R2C2],读取左上角为索引为
2、(R1,C1),右下角索引为(R2,C2)的矩阵中的数据。注意:matlab认为CSV第1行第1列的单元格坐标为(0,0)给定一个csvlist.csv文件,其内容如下02,04,06,08,10,1203,06,09,12,15,1805,10,15,20,25,3007,14,21,28,35,4211,22,33,44,55,66例1.1读取整个文件csvread('csvlist.csv')ans=246810123691215185101520253071421283542112233445566例1.2读取第2行以下,第0列以右区域的数据m=csvread('csvlist.dat
3、',2,0)m=5101520253071421283542112233445566例1.3读取第2行以下,第0列以右,第3行以上,第3列以左区域的数据m=csvread('csvlist.dat',2,0,[2,0,3,3])m=510152071421282、使用textscan函数在使用textscan函数前必须用fopen函数打开CSV文件。textscan函数读取的结果会存在cell数组中。调用格式C=textscan(fid,'format')C=textscan(fid,'format',N)C=textscan(fid,'format',param,value,...)C=te
4、xtscan(fid,'format',N,param,value,...)C=textscan(str,...)学习参考.....[C,position]=textscan(...)关于textscan函数的具体用法见helptextscan。例2.1读取字符串str='0.418.243.576.249.27';C=textscan(str,'%3.1f%*1d');textscanreturnsa1-by-1cellarrayC:C{1}=[0.4;8.2;3.5;6.2;9.2]例2.2读取不同类型的数据scan1.dat文件内容如下SallyLevel112.34451.23e10i
5、nfNaNYesJoeLevel223.54609e19-inf0.001NoBillLevel334.90122e510100No程序如下fid=fopen('scan1.dat');C=textscan(fid,'%s%s65533;2�%u%f%f%s');fclose(fid);返回值C是一个1×8的元胞数组,其值如下C{1}={'Sally';'Joe';'Bill'}classcellC{2}={'Level1';'Level2';'Level3'}classcellC{3}=[12.34;23.54;34.9]classsingleC{4}=[45;60;12]classint8
6、C{5}=[4294967295;4294967295;200000]classuint32C{6}=[Inf;-Inf;10]classdoubleC{7}=[NaN;0.001;100]classdoubleC{8}={'Yes';'No';'No'}classcell注意:C{5}的前两项超出了uint32数值范围,所以只给uint32的数值上限例2.3去除一列字符串%去除scan1.dat中地2列的字符串fid=fopen('scan1.dat');C=textscan(fid,'%sLevel%u8�2�%u%f%f%s');fclose(fid);返回一个1×8的元胞数组,其中C{
7、2}=[1;2;3]classuint8例2.4只读第一列fid=fopen('scan1.dat');names=textscan(fid,'%s%*[^]');fclose(fid);返回一个1×1的元胞数组names{1}={'Sally';'Joe';'Bill'}例子2.5指定的分隔符和空值的换算data.csv文件内容如下1,2,3,4,,6学习参考.....7,8,9,,11,1