《06数据分析和统计.pdf》由会员分享,可在线阅读,更多相关《06数据分析和统计.pdf(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、下载第6章数据分析和统计在本章中将介绍M AT L A B对数据处理和统计分析的命令。如果没有特别强调,本章中的A和B是指mn.p的多维矩阵,x是一个向量。6.1 最大值和最小值用命令集5 5中列出的命令可以求解最大值。命令集5 5最大值和最小值m a x(x)返回x中最大的元素值,如果x是复数,则返回m a x(a b s(x)值。m a x(A)返回一个含有 A中第1维最大值的 1n.p矩阵。对于二维矩阵来说,返回一个行向量,它的第 1个元素是A中第1列的最大的元素;如果A为复数时,则返回m a x(a b s(A)值。y,i n d =m a x(A)返回一个含有A中第1维最大值的1n.
2、p矩阵y,并在行向量i n d中保存每列的最大数的行下标。m a x(A,B)返回一个和A、B相同维数的矩阵,每一元素都是在 A和B中的相同位置上是最大的元素。C=m a x(A,d i m)给出在指定的d i m维内A的最大分量。如m a x(A,1),则给出A中最大的行向量。m i n(x)返回向量x中最小的元素。该命令关于矩阵的操作和m a x一样,如果x是复数,则返回m i n(a b s(x)值。例6.1创建一个三维矩阵A:显示结果为:求其中的最大值可用命令:m a x(A)输入w h o s可获得A的详细情况:6.2 求和、乘积和差分使用命令s u m和c u m s u m可以求
3、得各种不同的和。命令集5 6求和s u m(x)返回向量x所有元素的和。s u m(A)返回一个包含矩阵A各列元素之和的1n.p矩阵。c u m s u m(x)返回一个x中元素累计和的向量,也就是第 2个元素是x中前两个元素之和,以此类推。c u m s u m(A)返回一个与A同样大小的矩阵,它的列是A中列的累计和。c u m s u m(A,d i m)给出 A中d i m维的元素累计和,命令c u m s u m(A)和命令c u m s u m(A,1)相同。例6.2对例6.1中的矩阵A进行求和及累计和,其操作如下:图6-1说明了M AT L A B是如何来计算s u m(A)的。各
4、列相加后存放到 132的三维数组T h e S u m中。第6章数据分析和统计8 3下载图6-1 三维数组中求和s u m(A)示意图乘积的计算也和这相似。命令集57 乘积p r o d(x)返回x中各元素乘积。p r o d(A)返回一个元素是列乘积的多维矩阵。p r o d(A,d i m)给出d i m维内的元素乘积。c u m p r o d(x)返回一个x中各元素累计积的向量,也就是第 2个元素是x中前两个元素的累计积,以此类推。c u m p r o d(A)返回一个矩阵,其中列元素是A中列元素的累计积。cumprod(A,dim)给出在d i m维内的累计积。例 6.3假设使用定
5、义在例6.1中的矩阵A,执行命令:返回得到:使用命令d i f f可以进行差分计算,还有一些与命令 d i f f相关的其他命令。命令集5 8差分和梯度d i f f(x)给出一个长度为n1的向量,它的元素是长度为n的向量x中相邻的8 4M ATLAB 5 手册下载元素的差。如果x=(x1x2.xn),则d i f f(x)=(x2x1x3x2.xnxn1)。d i f f(A)在A的第一维内计算相邻元素的差分。对于二维矩阵来说,就是d i f f(A)=A(2:m,:)A(1:m1,:)。d i f f(x,k)求出第k次差分,d i f f(x,2)和d i f f(d i f f(x)等
6、价。d i f f(A,k,d i m)在d i m维内求出第k次差分。D A d x,D A d y,在矩阵D A d x、D A d y、D A dz等中返回矩阵A的偏导数,每个矩D A d z,.=阵包含 A/x、A/y、A/z等相应的下标。在M AT L A B中输入g r a d i e n t(A)help gradient可得到更多信息,也可参见例1 3.1 6。D A d x,D A d y,返回偏导数A/x、A/y、A/z等,如果给出参量 h1,h2,h3.,可D A d z,.=将它们用作每个变量的步长。g r a d i e n t(A,h 1,h 2,h 3,.)d e
7、 l 2(A)返回离散拉普拉斯算子,矩阵中的元素为 A中元素和它相邻的四个元素的平均值的差分。为了使函数z=f(x,y)的梯度的四个极值形象化,在颜色盘一节的图P-5中使用了g r a d i e n t命令。例6.4差分计算很容易,它还可以当作导数的近似值来用。得到的结果为:注意,如果将计算得到的差分作为导数的近似值来用,必须除以两点之间的距离。6.3 统计命令在前一节中提到了对矩阵列操作的命令,比如 m a x、m i n、s u m和p r o d。下面给出了数据统计分析的命令描述。命令集5 9平均值、中值和标准差m e a n(x)求出向量x的算术平均值。第6章数据分析和统计8 5下载
8、m e a n(A,d i m)给出一个1n.p的矩阵,它包含A中第1维的各个平均值。如果给出了d i m,就在d i m维内计算。m e d i a n(x)求出向量x中元素的中值。m e d i a n(A,d i m)给出一个1n.p的矩阵,它包含A中第1维各列的中值。如果给出了d i m,就在d i m维内计算。s t d(x)求出向量x中元素的标准差。s t d(A,d i m)给出一个1n.p的矩阵,它包含A中第1维的各列标准差。如果给出了d i m,就在d i m维内计算标准差。例6.5令A为:然后执行下列命令:返回得到:M AT L A B中命令c o v和c o r r c
9、o f e是用来求协方差和相关系数的,这些命令只能用在二维矩阵中。命令集6 0协方差和相关系数c o v(x)求向量x的协方差。c o v(A)求协方差矩阵,对角线元素是A中各列的方差。c o v(x,y)等同于cov(x y),x和y是列向量。c o r r c o e f(A)求相关矩阵。c o r r c o e f(x,y)等同于corrcoef(x y),x和y是列向量。例6.6假设定义如下向量:8 6M ATLAB 5 手册下载(a)通过下列命令来求得方差:(b)协方差为:(c)通过下列命令来求得相关矩阵:第6章数据分析和统计8 7下载6.4 排序在M AT L A B中可以用命令
10、s o r t来进行数据排序。命令集6 1排序s o r t(x)返回一个向量 x的元素按递增排序的向量。如果元素是复数,则使用绝对值进行排序,即s o r t(a b s(x)。y,i n d =s o r t(x)返回下标向量 i n d。就是y=x(i n d)。另外向量y是x中元素按递增排序得到的。sort(A,d i m)对A中各列按递增排序,注意矩阵的行已被改变。如果给出了d i m,则在d i m维内进行排序。B,Ind=sort(A)返回矩阵I n d和矩阵B,矩阵B的列为矩阵A中按递增排序的列,矩阵I n d的每列相对应于上面提到的向量中列 i n d。sortrows(X,
11、col)对矩阵A的各行按递增排序。如果行的元素是复数,它们以a b s(x)为主,以a n g l e(x)为辅进行排序。如果给出c o l,则根据指定的列数对行进行排序。例6.7假设矩阵A为:(a)执行命令 A s c e n d,I n d =s o r t(A),结果为:(b)如果以递减排序,可以使用下列命令:D e s c e n d=f l i p u d(s o r t(A),执行后的结果为:在4.1节定义了命令f l i p u d。6.5 统计频数直方图和棒图使用命令h i s t、b a r和s t a i r s,将数据集合以统计频数直方图和棒图显示出来。8 8M ATLA
12、B 5 手册下载命令集6 2统计频数直方图和棒图h i s t(x)在1 0个等分点内画出x中数据的统计频数直方图。h i s t(x,n)在n个等分点内画出x中数据的统计频数直方图。h i s t(x,y)在由向量y定义的等分点内画出 x中数据的统计频数直方图,向量y中元素按递增排序。b a r(x)画出x的棒图。b a r(z,x)在由向量 z定义的位置上画出 x的棒图,z中的值必须是递增的均一分布。b a r(x,.,s t r)画出如上的棒图,但可根据字符串 s t r来设定颜色和形状。有关s t r的值,可参见1 3.1节。b a r(A)画出以行分组的二维矩阵A的棒图。s t a
13、i r s(x)画出阶梯图,也就是内部没有线条的棒图。s t a i r s(z,x)在由向量z定义的位置上画出储存在x中数据的棒图。b a r h(x,A,f o r m a t)把mn矩阵A画成m组n个棒图,可以通过字符串f o r m a t来指定颜色,参见1 3.1节;或者用字符串 s t a c k e d表示把同一列的数据画在一个直方条上。b a r h(A)和b a r h一样,但是x=1:m。s t e m(y)在x轴上画y的离散火柴杆图,以小圆代表数据,并以其为结束。s t e m(z,y)在x轴上由向量 x指定的位置上画 y的离散火柴杆图,以小圆代表数据,并以其为结束。p
14、a r e t o(y,x)按递减顺序画出向量 y的棒图。给出的向量 x可作为x轴的坐标。如果x坐标没有给出,则可用向量 y中元素的下标。该命令也是用元素的累加和来画直线。p i e(x,e x t r a c t)画向量x的饼图。如果s u m(x)=1,则画出的是一个不完整的饼图,向量e x t r a c t的大小和x一样;从x中取出与e x t r a c t中每个非零的元素相同的元素。命令h i s t、b a r和s t a i r s还可以用来在向量中存储数据。这些命令中的一些命令如b a r和p i e还可作用于三维数组。命令集6 3图表 m,y =h i s t(x)在x的最
15、大值和最小值之间等分成1 0个区间,在这个区间上画出统计频数直方图。向量y的元素为将 m i n(x)和m a x(x)之间分成1 0个等间距的值,向量m为在每个区间内值的个数。这个直方图也可用命令b a r(y,m,.)来画。m,y =h i s t(x,n)在n个等间距区间上画统计频数直方图。m,y =h i s t(x,y)在由向量y指定的区间上画统计频数直方图。x b,y b =b a r(y)画y的棒图,这个棒图可以用命令p l o t(x b,y b)来画。x b,y b =b a r(x,y)在由向量x指定的位置上画y的棒图 x b,y b =s t a i r s(y)画y的阶
16、梯图。x b,y b =s t a i r s(x,y)在向量x定义的区间上画y的阶梯图。第6章数据分析和统计8 9下载 例6.8假设x为:(a)输入h i s t(x);t i t l e(Histogram of x using hist(x);运行的结果如图6-2所示。命令t i t l e可在图上添加文本标题,参见1 3.3节。图6-2 在标准区间内的统计频数直方图(b)要画出在三个区间内的统计频数直方图,可输入:结果如图6-3所示:图6-3 在三个区间内的统计频数直方图(c)画棒图可以输入:9 0M ATLAB 5 手册下载使用hist(x)的x的统计频数直方图使用hist(x,3)
17、的x的统计频数直方图给出的图形如图6-4所示。图6-4 x的棒图(d)如果输入 m,y =h i s t(x);M AT L A B将创建出向量 m和y。如果再用命令b a r(y,m,w),将再画出统计频数直方图;见图 6-5。为了使图形更有趣,可以画出白色的图形。用命令p l o t能画出其他色彩的图形来,参见1 3.1节。图6-5 用b a r 命令画的统计频数直方图(e)用命令s t e m(x)来画出向量x的火柴杆图,结果如图6-6所示。图6-6 用s t e m 画的x火柴杆图第6章数据分析和统计9 1下载bar(x)如果再定义一个向量:用它来做x轴的坐标值,运行命令s t e m
18、(x v a l u e s,x,-.)后可得到如图6-7所示的图形。图6-7 以向量x v a l u e s 为x轴坐标画出的x数据火柴杆图注意,向量 x的元素不必按递增排列。命令 s t e m的第3个参数用来确定线型,就象命令b a r在画图时可指定颜色一样。6.6 区域的三角分解M AT L A B中有下列关于区域三角形的命令。命令集6 4三角分解T R I=d e l a u n a y(x,y,s o r t e d)画一个三角形将向量 x和y连接起来。如果给定参数s o rt e d,则假定没有重复数据,对 y中的数据按递增排序。如果y的数据相同,则对x中的数据按递增排序。v
19、o r o n i(x,y,T R I)画集合x和y的Vo r o n o i图形。如果给定 T R I,则画出集合x和y的D e l a u n a y三角形图形。有两个使用D e l a u n a y三角形的函数,它们能给出与三角集合相关的集合信息。命令集6 5三角分解时的搜索函数d s e a r c h(x,y,T R I,p x,p y)找到最接近(px,py)的由向量x和y定义的点的下标,矩阵T R I是x和y的三角矩阵。t s e a r c h(x,y,T R I,p x,p y)找到由向量 x和y形成的集合定义的三角形下标和最接近点(p x,p y)的三角矩阵T R I,它
20、是x和y的三角矩阵。9 2M ATLAB 5 手册下载6.7 多边形分析以上是两个关于多边形属性的函数。命令集6 6多边形p o l y a r e a(x,y)画一个由A和B的列组成的集合定义的多边形。如果给定d i m,则画出定义在d i m维内的多边形。p o l y a r e a(A,B,d i m)画一个由A的第1维组成的集合定义的多边形。如果给定d i m,则画出定义在d i m维内的多边形。I N=i n p o l y g o n(x,y,返回一个和x,y大小相同的向量I N。如果点(x,y)在由p xp x,p y)和p y定义的多边形内,则将I N中相等元素赋值为1;如果
21、点在多边形上,则赋值为0.5;在多边形外,则赋值为0。r e c t i n t(x,y)画由向量x和y定义的矩形。r e c t i n t(A,B)从r e c t i n t(A(i,:),B(j,:)中返回所有可能组合的nm矩阵,如果A是一个n4的矩阵,B是一个m4的矩阵。c o n v h u l l(x,y,T R I)返回由x和y定义的点的下标,这个点在集合的凸起的位置上。如果给定了T R I,则用它;否则计算三角形。例6.9用矩阵D a rt B o a r d可以定义一个方形的镖盘。见图6-8。现在有:下面的函数文件对于了解一个训练有素的镖手很有用。现在让M AT L A B投一些镖。第6章数据分析和统计9 3下载可以得到一个好看的图形和有以下序列的结果,在图上把镖作为星画出来,在镖盘周围是空条纹。最后的结果放在图的上边。图6-8 MAT L A B投镖的结果图结果如图6-8所示。9 4M ATLAB 5 手册下载总分为了
限制150内