Matlab中的数据处理.doc_第1页
Matlab中的数据处理.doc_第2页
Matlab中的数据处理.doc_第3页
Matlab中的数据处理.doc_第4页
Matlab中的数据处理.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

Matlab中的数据处理 Matlab中的各种工具箱最主要是以矩阵或数组作为处理对象,因此首先必须将原始数据以矩阵形式加载到Matlab的工作空间,然后对矩阵进行相关操作。第一部分 数据输入在Matlab中创建一个矩阵可以有如下几种途径:一、在Matlab命令窗口直接输入矩阵例如: A=1 3 0;2 4 3;-3 4 9说明:矩阵或数组的标识符都是 ,矩阵同一行之间的元素用空格或逗号分隔,不同行之间用分号或回车符分隔。二、利用workspace(工作空间)创建或修改矩阵 在工作空间中新建一个空矩阵,然后双击该矩阵名,可以像Office中的Excel电子表格一样进行输入和编辑数据,也可以双击已经存在于工作空间中的变量名,对其进行修改编辑。例如: B=;三、采用复制、粘贴的方式构造矩阵对于存在于外部文件中的比较规范的数据(排列成矩阵形式),可以先将数据块复制到剪贴板上,然后在Matlab中粘贴到相应变量。举例:1、将data01.xls中的数据粘贴到Matlab工作空间中的变量C中。 2、将data02.txt中的数据输入到Matlab工作空间中的变量D中。四、使用输入函数对于大量的数据,或者格式更加复杂的数据文件,以上方法就不太方便,此时针对不同格式的数据文件,可以采用相应的输入函数导入数据。1、load函数装载Matlab格式的数据文件(.mat)和文本格式的定界符为空格的矩形文件。例:载入文件“data02.txt”中的数据2、dlmread函数将带有定界字符的ASCII数字数据读入矩阵常用格式:M=dlmread(filename) %Matlab 从文件格式中推断定界符,逗号是默认定界符。M=dlmread(filename,delimiter),指定定界符。M=dlmread(filename,delimiter,R,C),从矩形数据的左上角R行、C列的位置开始读入。注意:矩形数据的开始位置是0行0列。M=dlmread(filename,delimiter,range),读取用range指定范围的数据,range=R1 C1 R2 C2,R1C1是左上角的行列号,R2C2是右下角的行列号;range也可以用如下表示法:range=A1.B7。例:对于data02.txt中的数据 dlmread(d:datadata02.txt) %读全部数据 dlmread(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 指定的格式读取filename文件中的全部内容A,B,C,. = textread(filename,format,N) %只重复N次format 格式按照format 对应的格式,分别输出数据到变量A、B、C。Format可包含的参数:格式 作用 输出%d 带符号整数 双精度数组%u 无符号整数 双精度数组%f 浮点值 双精度数组%s 用空格或分隔符分隔的字符串 字符串数组%q 读取双引号中的字符串,忽略双引号 字符串数组%c 读取字符,包括空格 字符串数组例:有数据文本文件“data04.txt”,读取其中的内容 names, 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文件中的数据,忽略标题行或列的文本,而当不在标题行或列的单元格是空的,或者包含文本时,xlsread将在相应位置填上NaN;num = xlsread(filename, -1) %将在Excel窗口打开filename文件,可以交互选择工作区中的数据文件;num = xlsread(filename, sheet) %选择工作表sheet,默认为第一个工作表;num = xlsread(filename, range) %指定工作表中的数据范围,如A4:B5num = xlsread(filename, sheet, range)例:将电子表格data01.xls中的数据载入到Matlab工作区 xlsread(d:datadata01) xlsread(d:datadata01,-1) xlsread(d:datadata01,B3:E30)5、使用输入向导 输入向导(Import Wizard)是把数据输入到Matlab最简单的方法。无须知道被输入数据的格式,只需指定数据文件,向导会自动处理。从菜单“FileImport Data”打开Import Data 窗口,或者在命令窗口中输入 uiimport也可以打开数据输入向导。第二部分 数据拟合 在实际工程应用和科学实践中,经常需要寻求两个(或多个)变量间的关系,而实际却只能测得一些分散的数据点。针对这些分散的数据点,运用某种拟合方法生成一条连续的曲线,这个过程成为曲线拟合。曲线拟合可分为参数拟合和非参数拟合。参数拟合采用最小二乘法,非参数拟合也称插值法。1、多项式拟合p=polyfit(x,y,n) 用n次多项式拟合向量数据(x,y)。例:拟合下列数据x0.10.20.150.0-0.20.3y0.950.840.861.061.500.72 x=0.1 0.2 0.15 0 -0.2 0.3;y=0.95 0.84 0.86 1.06 1.50 0.72; p=polyfit(x,y,2); xx=-0.2:0.01:0.3;yy=polyval(p,xx); plot(x,y,or,xx,yy)2、曲线拟合 当经验函数不是多项式,而是其它类型的函数时,可以用lsqcurvefit函数对拟合函数中的未知参数进行估计。c=lsqcurvefit(fun,c0,xdata,ydata)fun是经验拟合函数,含有未知参数,即具有形式fun(c,x),c0是未知参数的预估计值,(xdata,ydata)是已知实验数据。例:已知数据表t12345678910111213141516y46.488.49.289.59.79.861010.210.3210.4210.510.5510.5810.6用适当的曲线进行数据拟合。先画散点图,根据散点图确定拟合曲线为对数函数 t=1:16; y=4 6.4 8 8.4 9.28 9.5 9.7 9.86 10 10.2 10.32 10.42 10.5 . 10.55 10.58 10.6; plot(t,y,or) f=inline(c(1)+c(2)*log(t),c,t) %建立拟合函数 c=lsqcurvefit(f,1,1,t,y) %求未知参数 tt=1:0.1:16;yy=f(c,tt); hold on plot(tt,yy) 也可以经过适当的变量替换,将其他函数转化为多项式拟合。如指数函数,取对数:,令,则3、拟合工具箱 Matlab中的拟合工具箱是一个更方便、更直观进行曲线拟合的图形界面,用cftool指令打开拟合工具箱。界面中主要有5个按钮:“Data”按钮:可输出、察看和平滑数据;“Fitting”按钮:拟合数据、比较拟合曲线和数据集“Exclude”按钮:可从拟合数据中排除特殊的数据点;“Ploting”按钮:显示拟合曲线和数据集;“Analysis”按钮:可以做内插法、外推法、微分或积分拟合。 拟合效果主要看2个参数:SSE(误差平方和)和R-Square ,SSE越接近0,R-Square越接近1,拟合效果越好。例:调用Matlab中自带的数据文件census,记录了美国1790-1990年间的人口,时间间隔为10年,找出人口与时间之间的关系。 load census cftool三、多元线性回归问题:设有因变量y 和p个自变量,它们具有某种线性关系 其中为待定系数,为随机误差。现有容量为n观测数据,怎样确定待定系数,并进行有效性检验?将样本代入关系式,得,其中Matlab求解:b,bint,r,rint,stats=regress(Y,X,alpha)其中alpha为显著性水平,省略时为默认值0.05;输出变量中,b为的参数估计值,bint为b的置信度为1-alpha的置信区间,r为残差向量,也即,rint为的置信区间,stats是包含3个元素的检验统计量,分别是R-square:相关系数R的平方,F-统计量和p值。回归效果:R-Square越接近1,p值越接近0(一般要求p b,bint,r,rint,stats=regress(y,x)最后得到的回归方程为:如果回归方程是形式:,相当于增加一个变量,而。如上例 x=ones(13,1),x; b,bint,r,rint,stats=regress(y,x)得回归关系式:上机练习1、根据下面的数据进行不同函数的数据拟合,并比较效果:x=0 0.0385 0.0963 0.1925 0.2888 0.385y=0.042 0.104 0.186 0.338 0.479 0.6122、某商品的需求量与消费者的平均收入、上平的价格的统计数据如下,建立回归模型并进行检验,预测平均收入为1000,价格为6时的商品需求。需求量10075807050659010011060收入10006001200500300400130011001300300价格57668754393、某人记录了21天使用空调器的时间和使用烘干器的次数,并监测电表以计算出每天的耗电量(kWH)与空调器使用的小时数(AC)和烘干器使用的次数(DRYER)之间的关系,建立并检验回归模型。序号kWHACDRYER1351.512634.523665.024172.005948.536796.0379313.518668.0199412.5110827.5211786.5312658.0113777.5214758.0215627.51168512.0117436.0018572.5319335.0020657.5121336.004、测得汽车重量(Weight)、功率(Horsepower)和行驶路程(Mileage)之间的数据关系见excel文件car.xls,试建立如下回归模型:并进行误差分析。第三部分 实例分析:2006年全国数学建模竞赛B题 艾滋病疗法的评价及疗效的预测艾滋病是当前人类社会最严重的瘟疫之一,从1981年发现以来的20多年间,它已经吞噬了近3000万人的生命。艾滋病的医学全名为“获得性免疫缺损综合症”,英文简称AIDS,它是由艾滋病毒(医学全名为“人体免疫缺损病毒”, 英文简称HIV)引起的。这种病毒破坏人的免疫系统,使人体丧失抵抗各种疾病的能力,从而严重危害人的生命。人类免疫系统的CD4细胞在抵御HIV的入侵中起着重要作用,当CD4被HIV感染而裂解时,其数量会急剧减少,HIV将迅速增加,导致AIDS发作。 艾滋病治疗的目的,是尽量减少人体内HIV的数量,同时产生更多的CD4,至少要有效地降低CD4减少的速度,以提高人体免疫能力。迄今为止人类还没有找到能根治AIDS的疗法,目前的一些AIDS疗法不仅对人体有副作用,而且成本也很高。许多国家和医疗组织都在积极试验、寻找更好的AIDS疗法。现在得到了美国艾滋病医疗试验机构ACTG公布的两组数据。 ACTG320(见附件1)是同时服用zidovudine(齐多夫定),lamivudine(拉美夫定)和indinavir(茚地那韦)3种药物的300多名病人每隔几周测试的CD4和HIV的浓度(每毫升血液里的数量)。193A(见附件2)是将1300多名病人随机地分为4组,每组按下述4种疗法中的一种服药,大约每隔8周测试的CD4浓度(这组数据缺HIV浓度,它的测试成本很高)。4种疗法的日用药分别为:600mg zidovudine或400mg didanosine(去羟基苷),这两种药按月轮换使用;600 mg zidovudine加2.25 mg zalcitabine(扎西他滨);600 mg zidovudine加400 mg didanosine;600 mg zidovudine加400 mg didanosine,再加400 mg nevirapine(奈韦拉平)。请你完成以下问题:(1)利用附件1的数据,预测继续治疗的效果,或者确定最佳治疗终止时间(继续治疗指在测试终止后继续服药,如果认为继续服药效果不好,则可选择提前终止治疗)。(2)利用附件2的数据,评价4种疗法的优劣(仅以CD4为标准),并对较优的疗法预测继续治疗的效果,或者确定最佳治疗终止时间。(3) 艾滋病药品的主要供给商对不发达国家提供的药品价格如下:600mg zidovudine 1.60美元,400mg didanosine 0.85美元,2.25 mg zalcitabine 1.85美元,400 mg nevirapine 1.20美元。如果病人需要考虑4种疗法的费用,对(2)中的评价和预测(或者提前终止)有什么改变。问题一的求解:分析:用cd4和vload分别表示CD4和Vload的浓度,用ct和rt分别表示测量CD4和V

温馨提示

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

评论

0/150

提交评论