资源描述:
《matlab中的数据处理.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Matlab中的数据处理Matlab中的各种工具箱最主要是以矩阵或数组作为处理对象,因此首先必须将原始数据以矩阵形式加载到Matlab的工作空间,然后对矩阵进行相关操作。第一部分数据输入在Matlab中创建一个矩阵可以有如下几种途径:一、在Matlab命令窗口直接输入矩阵例如:>>A=[130;243;-349]说明:矩阵或数组的标识符都是[],矩阵同一行之间的元素用空格或逗号分隔,不同行之间用分号或回车符分隔。二、利用workspace(工作空间)创建或修改矩阵在工作空间中新建一个空矩阵,然后双击该
2、矩阵名,可以像Office中的Excel电子表格一样进行输入和编辑数据,也可以双击已经存在于工作空间中的变量名,对其进行修改编辑。例如:>>B=[];三、采用复制、粘贴的方式构造矩阵对于存在于外部文件中的比较规范的数据(排列成矩阵形式),可以先将数据块复制到剪贴板上,然后在Matlab中粘贴到相应变量。举例:1、将data01.xls中的数据粘贴到Matlab工作空间中的变量C中。2、将data02.txt中的数据输入到Matlab工作空间中的变量D中。四、使用输入函数对于大量的数据,或者格式更加复杂
3、的数据文件,以上方法就不太方便,此时针对不同格式的数据文件,可以采用相应的输入函数导入数据。1、load函数装载Matlab格式的数据文件(.mat)和文本格式的定界符为空格的矩形文件。例:载入文件“data02.txt”中的数据2、dlmread函数将带有定界字符的ASCII数字数据读入矩阵常用格式:M=dlmread(‘filename’)%Matlab从文件格式中推断定界符,逗号是默认定界符。M=dlmread(‘filename’,delimiter),指定定界符。M=dlmread(‘fil
4、ename’,delimiter,R,C),从矩形数据的左上角R行、C列的位置开始读入。注意:矩形数据的开始位置是0行0列。M=dlmread(‘filename’,delimiter,range),读取用range指定范围的数据,range=[R1C1R2C2],R1C1是左上角的行列号,R2C2是右下角的行列号;range也可以用如下表示法:range=’A1..B7’。例:对于data02.txt中的数据>>dlmread('d:datadata02.txt')%读全部数据>>dlmread
5、('d:datadata02.txt','',2,3)%读取3行4列以后的数据,两个没有间隔的单引号表示用空格(不限定重复次数)作为定界符。>>dlmread('d:datadata02.txt','','c1..g4')%读取C1..G4范围内的数据>>dlmread('d:datadata01.txt','-')%其他定界符3、textread函数输入含有字母和数字的混合数据常用格式:[A,B,C,...]=textread('filename','format')%按format指定
6、的格式读取filename文件中的全部内容[A,B,C,...]=textread('filename','format',N)%只重复N次format格式按照format对应的格式,分别输出数据到变量A、B、C…。Format可包含的参数:格式作用输出%d带符号整数双精度数组%u无符号整数双精度数组%f浮点值双精度数组%s用空格或分隔符分隔的字符串字符串数组%q读取双引号中的字符串,忽略双引号字符串数组%c读取字符,包括空格字符串数组例:有数据文本文件“data04.txt”,读取其中的内容>>[n
7、ames,types,x,y,z,answer]=textread('d:/data/data04.txt','%s%s%f%d%f%s')对于只包含纯数字数据的文本文件,textread函数当然也能读取。>>A=textread('d:/data/data02.txt')与textread函数类似的函数还有textscan,但功能更丰富,使用更灵活,可参考相关帮助。4、xlsread函数从Excel电子表格读取矩阵数据常用格式:num=xlsread(filename)%读取filename文件中的
8、数据,忽略标题行或列的文本,而当不在标题行或列的单元格是空的,或者包含文本时,xlsread将在相应位置填上NaN;num=xlsread(filename,-1)%将在Excel窗口打开filename文件,可以交互选择工作区中的数据文件;num=xlsread(filename,sheet)%选择工作表sheet,默认为第一个工作表;num=xlsread(filename,range)%指定工作表中的数据范围,如’A4:B5’num=xlsread