1 / 11
文档名称:

matlab编程必用.doc

格式:doc   大小:1,438KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

matlab编程必用.doc

上传人:幸福人生 2024/5/9 文件大小:1.40 MB

下载得到文件列表

matlab编程必用.doc

相关文档

文档介绍

文档介绍:该【matlab编程必用 】是由【幸福人生】上传分享,文档一共【11】页,该文档可以免费在线阅读,需要了解更多关于【matlab编程必用 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。matlab编程必用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],读取左上角为索引为(R1,C1),右下角索引为(R2,C2)的矩阵中的数据。注意:matlab认为CSV第1行第1列的单元格坐标为(0,0),其内容如下02,04,06,08,10,1203,06,09,12,15,1805,10,15,20,25,3007,14,21,28,35,422、使用textscan函数在使用textscan函数前必须用fopen函数打开CSV文件。textscan函数读取的结果会存在cell数组中。调用格式C=textscan(fid,'format')C=textscan(fid,'format',N)C=textscan(fid,'format',param,value,...)C=textscan(fid,'format',N,param,value,...)C=textscan(str,...)[C,position]=textscan(...)关于textscan函数的具体用法见helptextscan。='';C=textscan(str,'%%*1d');textscanreturnsa1-by-1cellarrayC:C{1}=[;;;;]-=fopen('');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}=[;;]classsingleC{4}=[45;60;12]classint8C{5}=[4294967295;4294967295;200000]classuint32C{6}=[Inf;-Inf;10]classdoubleC{7}=[NaN;;100]classdoubleC{8}={'Yes';'No';'No'}classcell注意:C{5}的前两项超出了uint32数值范围,%=fopen('');C=textscan(fid,'%sLevel%u8?2?%u%f%f%s');fclose(fid);返回一个1×8的元胞数组,其中C{2}=[1;2;3]=fopen('');names=textscan(fid,'%s%*[^\n]');fclose(fid);返回一个1×1的元胞数组names{1}={'Sally';'Joe';'Bill'},2,3,4,,67,8,9,,11,12程序如下fid=fopen('');C=textscan(fid,'%f%f%f%f%u32%f','delimiter',',',...'EmptyValue',-Inf);fclose(fid);返回一个1×6的元胞数组C{1}=[1;7]classdoubleC{2}=[2;8]classdoubleC{3}=[3;9]classdoubleC{4}=[4;-Inf]classdouble(emptyconvertedto-Inf)C{5}=[0;11]classuint32(emptyconvertedto0)C{6}=[6;12],2,NA,3,4//CommentHeredef,na,5,6,7分离出注释语句fid=fopen('');C=textscan(fid,'%s%n%n%n%n','delimiter',',',...'treatAsEmpty',{'NA','na'},...'commentStyle','//');fclose(fid);返回1×5的元胞数组C{1}={'abc';'def'}C{2}=[2;NaN]C{3}=[NaN;5]C{4}=[3;6]C{5}=[4;7],2,3,,45,6,7,,8将multipledelimsasone参数的值赋为1,剔除重复的分隔符fid=fopen('');C=textscan(fid,'%f%f%f%f','delimiter',',',...'MultipleDelimsAsOne',1);fclose(fid);返回一个1×4的元胞数组C{1}=[1;5]C{2}=[2;6]C{3}=[3;7]C{4}=[4;8]|Test1|Test2|(false)将CSV中的每一列返回到Cell的一列中。如果将其值设为1(true),则会把相同数据类型的列返回到Cell的一列中。%默认不开启collectoutputfid=fopen('');%readcolumnheadersC_text=textscan(fid,'%s',4,'delimiter','|');%readnumericdataC_data0=textscan(fid,'%d%f%f%s')%开启collectoutputfrewind(fid);C_text=textscan(fid,'%s',4,'delimiter','|');C_data1=textscan(fid,'%d%f%f%s',...'CollectOutput',1)fclose(fid);使用collectoutput后,ID成为cell中的一列,Test1和test2合起来成为cell中的一列,test3成为cell中的一列C_data0=[4x1int32][4x1double][4x1double]{4x1cell}C_data1=[4x1int32][4x2double]{4x1cell}frewind的作用是让后面的textscan函数使用前面的fid,:\bBackspace\nNewline\rCarriagereturn\tTab\\Backslash(\)如果你的数据使用不同的控制字符,在调用textscan时能使用sprintf函数显式转换这些控制字符。