MATLAB中的数据处理.pdf

上传人:wj 文档编号:14657283 上传时间:2023-06-25 格式:PDF 页数:15 大小:227.57KB
下载 相关 举报
MATLAB中的数据处理.pdf_第1页
第1页 / 共15页
MATLAB中的数据处理.pdf_第2页
第2页 / 共15页
MATLAB中的数据处理.pdf_第3页
第3页 / 共15页
MATLAB中的数据处理.pdf_第4页
第4页 / 共15页
MATLAB中的数据处理.pdf_第5页
第5页 / 共15页
MATLAB中的数据处理.pdf_第6页
第6页 / 共15页
MATLAB中的数据处理.pdf_第7页
第7页 / 共15页
MATLAB中的数据处理.pdf_第8页
第8页 / 共15页
MATLAB中的数据处理.pdf_第9页
第9页 / 共15页
MATLAB中的数据处理.pdf_第10页
第10页 / 共15页
MATLAB中的数据处理.pdf_第11页
第11页 / 共15页
MATLAB中的数据处理.pdf_第12页
第12页 / 共15页
MATLAB中的数据处理.pdf_第13页
第13页 / 共15页
MATLAB中的数据处理.pdf_第14页
第14页 / 共15页
MATLAB中的数据处理.pdf_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

MATLAB中的数据处理.pdf

《MATLAB中的数据处理.pdf》由会员分享,可在线阅读,更多相关《MATLAB中的数据处理.pdf(15页珍藏版)》请在冰点文库上搜索。

MATLAB中的数据处理.pdf

Matlab中的数据处理中的数据处理Matlab中的各种工具箱最主要是以矩阵或数组作为处理对象,因此首先必须将原始数据以矩阵形式加载到Matlab的工作空间,然后对矩阵进行相关操作。

第一部分第一部分数据输入数据输入在Matlab中创建一个矩阵可以有如下几种途径:

一、在Matlab命令窗口直接输入矩阵例如:

A=130;243;-349说明说明:

矩阵或数组的标识符都是,矩阵同一行之间的元素用空格或逗号分隔,不同行之间用分号或回车符分隔。

二、利用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=R1C1R2C2,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-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、使用输入向导输入向导(ImportWizard)是把数据输入到Matlab最简单的方法。

无须知道被输入数据的格式,只需指定数据文件,向导会自动处理。

从菜单“FileImportData”打开ImportData窗口,或者在命令窗口中输入uiimport也可以打开数据输入向导。

第二部分第二部分数据拟合数据拟合在实际工程应用和科学实践中,经常需要寻求两个(或多个)变量间的关系,而实际却只能测得一些分散的数据点。

针对这些分散的数据点,运用某种拟合方法生成一条连续的曲线,这个过程成为曲线拟合。

曲线拟合可分为参数拟合和非参数拟合。

参数拟合采用最小二乘法,非参数拟合也称插值法。

1、多项式拟合p=polyfit(x,y,n)用n次多项式拟合向量数据(x,y)。

例:

拟合下列数据x0.10.20.150.0-0.20.3y0.950.840.861.061.500.72x=0.10.20.150-0.20.3;y=0.950.840.861.061.500.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用适当的曲线进行数据拟合。

先画散点图,根据散点图确定拟合曲线为对数函数lnbtyat=1:

16;y=46.488.49.289.59.79.861010.210.3210.4210.5.10.5510.5810.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);holdonplot(tt,yy)也可以经过适当的变量替换,将其他函数转化为多项式拟合。

如指数函数bxyae,取对数:

lnlnyabx,令lnyY,则YAbx3、拟合工具箱Matlab中的拟合工具箱是一个更方便、更直观进行曲线拟合的图形界面,用cftool指令打开拟合工具箱。

界面中主要有5个按钮:

“Data”按钮:

可输出、察看和平滑数据;“Fitting”按钮:

拟合数据、比较拟合曲线和数据集“Exclude”按钮:

可从拟合数据中排除特殊的数据点;“Ploting”按钮:

显示拟合曲线和数据集;“Analysis”按钮:

可以做内插法、外推法、微分或积分拟合。

拟合效果主要看2个参数:

SSE(误差平方和)和R-Square,SSE越接近0,R-Square越接近1,拟合效果越好。

例:

调用Matlab中自带的数据文件census,记录了美国1790-1990年间的人口,时间间隔为10年,找出人口与时间之间的关系。

loadcensuscftool三、多元线性回归问题:

设有因变量y和p个自变量12,pxxx,它们具有某种线性关系1122ppyxxx其中12,p为待定系数,为随机误差。

现有容量为n观测数据,1,2,1,2,iijyxinjp,怎样确定待定系数12,p,并进行有效性检验?

将样本代入关系式,得YX,其中1111211221222212,pppnnnppyxxxyxxxYXyxxxMatlab求解:

b,bint,r,rint,stats=regress(Y,X,alpha)其中alpha为显著性水平,省略时为默认值0.05;输出变量中,b为的参数估计值,bint为b的置信度为1-alpha的置信区间,r为残差向量YX,也即,rint为的置信区间,stats是包含3个元素的检验统计量,分别是R-square:

相关系数R的平方,F-统计量和p值。

回归效果:

R-Square越接近1,p值越接近0(一般要求pb,bint,r,rint,stats=regress(y,x)最后得到的回归方程为:

12342.1931.15330.75850.4863yxxxx如果回归方程是形式:

01122ppyxxx,相当于增加一个变量0x,001122ppyxxxx,而01x。

如上例x=ones(13,1),x;b,bint,r,rint,stats=regress(y,x)得回归关系式:

123462.40541.55110.51020.10190.1441yxxxx上机练习上机练习1、根据下面的数据进行不同函数的数据拟合,并比较效果:

x=00.03850.09630.19250.28880.385y=0.0420.1040.1860.3380.4790.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,试建立如下回归模型:

0123MileageWeightHorsepowerWeightHorsepower并进行误差分析。

第三部分第三部分实例分析:

实例分析:

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种疗法的日用药分别为:

600mgzidovudine或400mgdidanosine(去羟基苷),这两种药按月轮换使用;600mgzidovudine加2.25mgzalcitabine(扎西他滨);600mgzidovudine加400mgdidanosine;600mgzidovudine加400mgdidanosine,再加400mgnevirapine(奈韦拉平)。

请你完成以下问题:

(1)利用附件1的数据,预测继续治疗的效果,或者确定最佳治疗终止时间(继续治疗指在测试终止后继续服药,如果认为继续服药效果不好,则可选择提前终止治疗)。

(2)利用附件2的数据,评价4种疗法的优劣(仅以CD4为标准),并对较优的疗法预测继续治疗的效果,或者确定最佳治疗终止时间。

(3)艾滋病药品的主要供给商对不发达国家提供的药品价格如下:

600mgzidovudine1.60美元,400mgdidanosine0.85美元,2.25mgzalcitabine1.85美元,400mgnevirapine1.20美元。

如果病人需要考虑4种疗法的费用,对

(2)中的评价和预测(或者提前终止)有什么改变。

问题一的求解:

分析:

用cd4和vload分别表示CD4和Vload的浓度,用ct和rt分别表示测量CD4和Vload的时刻。

首先根据医学知识确定最优停药准则:

CD4达到最大并开始下降,而HIV浓度达到最小并开始上升时为最佳停药时间。

所以要分别建立CD4浓度与时间、HIV含量与时间的函数关系。

数据的预处理:

由于每个病人测量的时刻不一致,得到的数据也有多有少,因此给问题求解带来一定困难。

处理方法之一是以一周为时间单位,计算在第i周有测量值的所有病人的CD4和Vload的平均浓度,分别记为acd4和avload;同时为了使数据具有统计意义,可以剔除统计人数太少的数据,例如若某时刻测量人数不超过20人,则不予统计。

为了使拟合曲线相对平滑,还可以对数据做相应变换,例如,令12ln(41),ln()yacdyavload然后作1y对时间、2y对时间的多项式拟合。

求解步骤:

1、载入数据:

调用Matlab数据输入向导,载入B2006data目录中的附件1;2、程序prog1统计、计算cd4和vload的平均值acd4和avload;3、作曲线拟合x1=acd4(1,:

);y1=acd4(2,:

);x2=avload(1,:

);y2=avload(2,:

);Y1=log(y1+1);Y2=log(y2);cftool在拟合窗口中还可以对数据做进一步的平滑处理分别得到拟合曲线:

210.00071450.041454.667Ytt残差平方和SSE=0.1162,R-square=0.8262220.00064380.032561.381Ytt残差平方和SSE=0.1153,R-square=0.6605亦即20.00071450.041454.66741ttacde20.00064380.032561.381ttavloade通过观察或计算可以看出acd4的最大值点在30t,而avload的最小值点在26t,因此由前面的分析知最优停药时间应在26周至28周之间。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 外语学习 > 韩语学习

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2