MATLAB-数据分析和统计.ppt
MATLAB实例讲座,数据分析和统计,赵毅制作,所有程序都在MATLAB V6.5中通过测试,数据分析和统计,在本章中将介绍M AT L A B对数据处理和统计分析的命令。如果没有特别强调,本章中的A和B是指mn.p的多维矩阵,x是一个向量。,¥.1最大值和最小值,数据分析和统计,例1.创建一个三维矩阵A:,A(:,:,1)=1 2 3;2 3 1;3 2 1;A(:,:,2)=2 4 6;4 6 2;6 4 2;max(A)ans(:,:,1)=3 3 3ans(:,:,2)=6 6 6 whos Name Size Bytes Class A 3x3x2 144 double array ans 1x3x2 48 double arrayGrand total is 24 elements using 192 bytes,求和、乘积和差分,数据分析和统计,求和,对例.1中的矩阵A进行求和及累计和,其操作如下:,TheSum=sum(A),TheCsum=cumsum(A)TheSum(:,:,1)=,数据分析和统计,6 7 5 TheSum(:,:,2)=12 14 10TheCsum(:,:,1)=1 2 3 3 5 4 6 7 5TheCsum(:,:,2)=2 4 6 6 10 8 12 14 10,数据分析和统计,乘积,数据分析和统计,差分和梯度,数据分析和统计,差分计算很容易,它还可以当作导数的近似值来用。,x=1 4 9 16 25;d1=diff(x),d2=diff(d1),d3=diff(d2)d1=3 5 7 9d2=2 2 2 d3=0 0,统计命令,平均值、中值和标准差,数据分析和统计,A=1 1;2 2;3 3;4 100;average=mean(A),med=median(A),dev=std(A)average=2.5000 26.5000med=2.5000 2.5000dev=1.2910 49.0068,协方差和相关系数,数据分析和统计,假设定义如下向量:,(a)通过下列命令来求得方差:,x=1 1 1;y=1 2 2;z=0-1 1;varx=cov(x),vary=cov(y),varz=cov(z)varx=0 vary=0.3333 varz=1,(b)协方差为:,Cvxy=cov(x,y),Cvxz=cov(x,z),Cvyz=cov(y,z)Cvxy=0 0 0 0.3333,数据分析和统计,Cvxz=0 0 0 1Cvyz=0.3333 0 0 1.0000,排序,数据分析和统计,(a)执行命令 A s c e n d,I n d=s o r t(A),结果为:,数据分析和统计,A=0 4 4;2 0 2;4 2 0;Ascent,Ind=sort(A)Ascent=0 0 0 2 2 2 4 4 4Ind=1 2 3 2 3 2 3 1 1,B,Ind=sort(A)返回矩阵I n d和矩阵B,矩阵B的列为矩阵A中按递增排序的列,矩阵I n d的每列相对应于上面提到的向量中列i n d。,数据分析和统计,统计频数直方图和棒图,使用命令h i s t、b a r和s t a i r s,将数据集合以统计频数直方图和棒图显示出来。,数据分析和统计,图表,数据分析和统计,假设x为:,x=1 1 3 4 5 1 9 8;hist(x);title(Histogram of x use hist),数据分析和统计,(b)要画出在三个区间内的统计频数直方图,可输入:,hist(x,3);title(Histogram of x using hist(x,3),数据分析和统计,(c)画棒图可以输入:,bar(x);title(bar(x);,数值,次数,数据分析和统计,用命令s t e m(x)来画出向量x的火柴杆图,如果再定义一个向量:,数据分析和统计,数据分析和统计,高级话题应用举例,在这里,我们从数据库中调出三个地区的气象温度资料数据。我们试图对这些数据进行初步的分析和处理,以得到以下我们想要的图形和数据。三个地区的气温变化走势图三个地区的平均温度以及平均温度的平均值三个地区的温度与其平均值的偏差值三个地区每天温度的变化大小diff,数据分析和统计,创建m文件 数据录入,把直接从数据库中得到的数据复制进m文件中(要用矩阵形式)。并保存为temps.m,数据分析和统计,在命令窗口中输入 temps 调用数据,d=1:31;%number the days of month plot(d,temps),xlable(Day of Month),ylabel(Celsius),title(Daily High temperature in three cities),数据分析和统计,avgtemp=mean(temps)avgtemp=11.9677 8.2258 19.8710 avgavg=mean(avgtemp)avgavg=13.3548,得到三个地区的平均气温以及平均气温的平均值,for i=1:3 tdev(:,i)=temps(:,i)-avgtemp(i);end,运用循环语句得到一个平均气温的(3*31)Matrix进行运算,数据分析和统计,最后用我们学过的diff来求每日气温偏差,dailychange=diff(temps),数据分析和统计,以上例子仅为matlab在统计计算的冰山一角,有关细节请参考专业书籍,谢谢观看,