5.1matlab数据统计分析(最大值、最小值、平均值、中值、和、积、累加和、累加积、标准差、相关系数、排序)
1、求最大元素和最小元素
max():求向量或矩陣的最大元素。
min( ):求向量或矩陣的最小元素。
(1)當參數為向量時,函數有兩種調用格式:
①y=max(X):返回向量X的最大值存入y,如果X中包含復數元素,則按模取最大值。
②[y,k]=max(X):返回向量X的最大值存入y,最大值元素的序號存入k,如果X中包含復數元素,則按模取最大值。
(2)當參數為矩陣時,函數有三種調用格式:
① max(A):返回一個行向量,向量的第i個元素是矩陣A的第i列上的最大值。
②[Y,U]=max(A):返回行向量Y和U,Y向量記錄A的每列的最大值,U向量記錄每列最大值元素的行號。
③ max(A,[ ],dim): dim取1或2。dim取1時,該函數的功能和max(A)完全相同;dim取2時,該函數返回一個列向量,其第i個元素是A矩陣的第i行上的最大值。
對矩陣按行求最大元素,僅使用第一種格式,能夠做到嗎?
答:將矩陣轉置即可。
例1:求矩陣A的每行及每列的最大元素,并求整個矩陣的最大元素。
>>A = [13 -56 78;25 63 -235;78 25 563;1 0 -1]A =13 -56 7825 63 -23578 25 5631 0 -1>> a1 = max(A) %返回一個行向量,存儲各列元素的最大值a1 =78 63 563 >> [y1 u1] = max(A) %行向量y1存儲每列元素的最大值,行向量u1存儲各列最大值元素的行號y1 =78 63 563 u1 =3 2 3 >> a2 = max(A,[],1) %與max(A)功能一樣a2 =78 63 563>> a3 = max(A,[],2) %返回列向量a3,存儲每行的最大值a3 =7863563>> [y2 u2] = max(A,[],2) %列向量y2存儲每行元素的最大值,列向量u2存儲各行最大值元素的列號y2 =78635631 u2 =3231用什么方法只調用一次max函數就能求得整個矩陣的最大值?
>> max(A(:)) %將A矩陣元素堆疊變成-個列向量ans =5632、求平均值和中值
有了平均值,為什么還要中值?
平均值容易受極端數據影響。
(1)mean( ):求算術平均值。
(2)median( ):求中值。
3、求和與求積
(1)sum():求和函數。
(2)prod( ):求積函數。
4、累加和與累乘積
(1)cumsum():累加和函數。
(2)cumprod():累乘積函數。
例2:求向量X=1,2,3,4,5,6,7,8,9,10]的和、累加和、積與累乘積。
>> x = 1:10x =1 2 3 4 5 6 7 8 9 10>> y0 = sum(x) %求和y0 =55>> y1 = cumsum(x) %求累加和y1 =1 3 6 10 15 21 28 36 45 55>> y2 = prod(x) %求積y2 =3628800>> y3 = cumprod(x) %求累加積y3 =1 2 6 24 120 720 5040 40320 362880 36288005、標準差與相關系數
(1)標準差用于計算數據偏離平均數的距離的平均值,其計算公式為:
S1為樣本標準差,S2為總體標準差
std():計算標準差函數。調用格式:
①std(X):計算向量X的標準差。
②std(A):計算矩陣A的各列的標準差。
③std(A,flag,dim): flag取0或1,當flag=0時,按S1所列公式計算樣本標準差;當flag=l時,按S2所列公式計算總體標準差。dim=1按列計算,dim=2按行計算。默認情況下,flag=0,dim=1。
例3:生成滿足正態分布的20x4隨機矩陣,用不同的形式求其各列之間的標準差。
>> x = randn(50000,4); y1 = std(x,0,1) %0按樣本標準差S1計算,1按列計算y1 =1.0023 0.9994 0.9972 0.9990>> y2 = std(x,1,1) %1按總體標準差S2計算,1按列計算y2 =1.0023 0.9994 0.9972 0.9990>> x1 = x'; y3 = std(x1,0,2) %0按樣本標準差S1計算,2按行計算y3 =1.00230.99940.99720.9990>> y4 = std(x1,1,2) %0按樣本標準差S1計算,2按行計算y4 =1.00230.99940.99720.9990(2)相關系數:能夠反映兩組數據序列之間相互關系,其計算公式為
取值在+1和-1之間,其值越接近于0,說明數據越不相關,其值的絕對值越接近于1,說明數據之間相關程度越高。
corrcoef( ):相關系數函數。調用格式:
①corrcoef(A):返回由矩陣A所形成的一個相關系數矩陣,其中,第i行第j列的元素表示原矩陣A中第i列和第j列的相關系數。
②corrcoef(X,Y):在這里X、Y是向量,它們與corrcoef([X,Y])的作用一樣,用于求X、Y向量之間的相關系數。
6、排序
sort():排序函數。調用格式:
① sort(X):對向量X按升序排列。
②[Y,I]=sort(A,dim,mode)
其中,dim指明對A的列還是行進行排序。mode指明按升序還是降序排序,若取“ascend”,則按升序;若取“descend”,則按降序,默認為升序。輸出參數中,Y是排序后的矩陣,而l記錄Y中的元素在A中位置。
例4:對矩陣A進行各種排序
>> A = [1 -8 5;4 12 6; 13 7 -13]A =1 -8 54 12 613 7 -13>> y1 = sort(A) %對矩陣A按列升序y1 =1 -8 -134 7 513 12 6>> y2 = sort(A,2,'descend') %對矩陣A按行降序排列y2 =5 1 -812 6 413 7 -13>> [y3 m3] = sort(A) %對矩陣A每列按升序排序,并把各元素在原矩陣中的位置保存在矩陣m3中y3 =1 -8 -134 7 513 12 6 m3 =1 1 32 3 13 2 2>> [y4 m4] = sort(A,'descend') %對矩陣A每列按降序排序,并把各元素在原矩陣中的位置保存在矩陣m4中y4 =13 12 64 7 51 -8 -13 m4 =3 2 22 3 11 1 3總結
以上是生活随笔為你收集整理的5.1matlab数据统计分析(最大值、最小值、平均值、中值、和、积、累加和、累加积、标准差、相关系数、排序)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 4.6 matlab图形修饰处理(视点处
- 下一篇: 5.2 matlab多项式计算(多项式的