《Matlab数据处理》PPT课件.ppt_第1页
《Matlab数据处理》PPT课件.ppt_第2页
《Matlab数据处理》PPT课件.ppt_第3页
《Matlab数据处理》PPT课件.ppt_第4页
《Matlab数据处理》PPT课件.ppt_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章 Matlab数据处理,主要内容,4.1. 数据文件读写,4.2. Matlab中的输入输出函数,4.3. 数据的标准化,4.1. 数据文件读写,1、将工作区变量保存到文本文件中,save filename var1 var2 var3 -mat 默认保存的文件扩展名为.mat,如果保存的数据需要跨平台处理,需要采用如下格式: save filename.dat var1 var2 -ascii 另外: save filename var1 var2 -append 附加到已经存在的Mat文件中,dlmwrite(data3.txt,b),可以将工作区变量保存到纯文本文件中。,2、将文本文件中的数据导入工作区,load filename a=load(filename.txt); M = dlmread(filename, delimiter, R, C) 读取文本文件,M = gallery(integerdata, 100, 5 8, 0); dlmwrite(myfile.txt, M, delimiter, t) dlmread(myfile.txt) dlmread(myfile.txt, t, 2, 3) dlmread(myfile.txt, t, C1G4),示例:,3、读写Excel中的数据,xlswrite(filename,A,sheet,range) 将阵列A写入Excel文件filename中sheet表格的range指示的单元格内。,num,txt,raw = xlsread(filename,sheet,range)从Excel文件filename中的sheet表格中读取range单元格内的数据返回。,示例:,values = 1, 2, 3 ; 4, 5, x ; 7, 8, 9; headers = First, Second, Third; xlswrite(myExample.xls, headers; values); A = xlsread(myExample.xls) subsetA = xlsread(myExample.xls, 1, B2:C3) columnB = xlsread(myExample.xls, B:B) ndata, text, alldata = xlsread(myExample.xls),4.2. Matlab中的输入输出函数,1、textread函数,以指定的格式读取ASCII文件。调用格式为: a,b,c,=textread(filename,format,n),其中format是描述每一列数据类型的字符串,书写格式同fprintf函数中的格式相同,n表示要读的行数,如果不写n,则读取整个文件。,示例:,假设文件test.dat中的数据如下: James Jones O+ 3.51 22 Yes Sally Smith A+ 3.28 23 No 读取时:first,last,blood,gpa,age,answer=textread(test.dat,%s %s %s %f %d %s),如果需要忽略某些数据,只读取一部分,可以如下调用: first,last, gpa=textread(test.dat,%s %s %*s %f %*d %*s),2、Matlab中的文件处理函数,2.1 文件的打开与关闭函数,fid,message=fopen(filename,permission,format),fid返回打开文件的文件ID,如果打开成功,message返回空串。permission是打开权限,可以是r r+ w w+ a a+ W A,分别代表了对文件的读写追加等操作,可以和文本文件(t)或者二进制文件(b)组合使用,如rt rt+ rb等,format对应文件中数据的显示格式,可以是n,l,a,b,s等。,status=fclose(fid) 关闭文件,2.2 二进制文件读写函数,count=fwrite(fid,array,precision),array是要写入的矩阵,precision对应精度,有char,schar,int8,int16,uint8,float32等。,array,count=fread(fid,size,precision)从打开的文件fid读取二进制数据,size指示读取的数据个数,如果为n表示读n个数据,返回的array是一个列向量,如果为inf表示读取全部数据,array是一个包含全部数据的列向量。如果为n m表示读一个n*m个数据,形成一个array。,示例:见备注,2.3 格式化输入输出函数,count=fprintf(fid,format,val1,val2,) format是形如 %-12.5e的格式化字符串,其中-表示左对齐,12表示数据宽度,.5表示精度(小数点后的位数),e表示科学计数法。,示例:,a=10 20 30 40;fprintf(output=%4d %4dn,a);,fprintf(%-8sn,string);,fprintf(%dn,123); fprintf(%6dn,123); fprintf(%6.4dn,123); fprintf(%-6.4dn,123); fprintf(%+6.4dn,123);,fprintf(%fn,123.4); fprintf(%8.2fn,123.4); fprintf(%4.2dn,123.4); fprintf(%10.2en,123); fprintf(%10.2En,123);,array count=fscanf(fid,format,size) array返回接收到的数据,size表示从文件中读取的数据个数,可以去n,Inf和n,m。,示例:,假设文件test.dat中有如下两行数据: 10.00 20.00 30.00 40.00 z,count=fscanf(fid,%f),得到z是一个列向量,count=4; z,count=fscanf(fid,%f,2 2),得到z是10 30;20 40,count=4 z,count=fscanf(fid,%d,Inf),得到z=10,count=1;因为类型不匹配而不继续读取数据。 z,count=fscanf(fid,%d.%d,1,inf) 以小数点作为分割 z,count=fscanf(fid,%c) z,count=fscanf(fid,%s),line=fgetl(fid) 读取一行字符,不包括行结束符号,如果遇到文件末尾,line的值设置为-1; line=fgets(fid),功能同fgetl,但是读取时包括行结束符,4.3.数据的标准化,1、数据类型的一致化处理,(1)极小型:对某个极小型数据指标x,,(2)中间型。对某个中间型指标x,则有:,(3)区间型。对某个区间型指标x,则有:,2、数据指标的无量纲化处理,实际的数据指标中,往往存在着量纲不同的情况,会出现大数吃小数的错误,导致结果不合理。常用的无量纲处理化方法有标准差法,极值差法和功效系数法等。,其中,c,d为确定的常数,c表示平移量,d表示旋转量,表示放大或者缩小的倍

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论