4.2矩陣之統計
對於一個矩陣元素值之統計,前面也有部份討論到,諸如sum、mean、max、min等等,都是就元素值之特性進行操作者。其中有些以向量矩陣為主(包括行向量與列向量),但亦可應用於一般矩陣(例如m x n矩陣),將每行之元素進行處理(例如累加),然後將結果置於一個列矩陣中。這些統計型函數如表4.5所示:
表4.5矩陣簡單之統計指令
指令型式 | 說明 |
---|---|
median(A) | 求陣列A之中間值 |
cumsum(A) | 求陣列A之累加值 |
prod(A) | 求陣列A之乘積值 |
cumprod(A) | 求陣列A之累積值 |
std(A) | 求陣列A之標準差 |
4.2.1 MEDIAN中間函數
求矩陣中之中間值數,其與mean函數不同,後者求其平均值,但應用上大致相同。
>>A=magic(5)
A =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
>>median(A)
ans =
11 12 13 14 15
此為各行之中間值,若要求各列之中間值則可用median(A,2)
>>median(A,2)
ans =
15
14
13
12
11
4.2.2 CUMSUM累加函數
這是矩陣之累加函數,可以就行向各元素逐一累加。若仍以上式A魔術矩陣為例:
>>cumsum(A)
ans =
17 24 1 8 15
40 29 8 22 31
44 35 21 42 53
54 47 40 63 56
65 65 65 65 65
其所得結果為由上往下累加,若要列向累加,則可以在其後加一個dim=2之參數:
>>cumsum(A, 2)
ans =
17 41 42 50 65
23 28 35 49 65
4 10 23 43 65
10 22 41 62 65
11 29 54 56 65
而魔術方陣其各方向累加起來之值均相同,也可由此得證。利用cumsum函數也可以立即產生一個等差級數之陣列,例如等差值5之陣列如下:
>>M=cumsum(0:5:50)
M =
0 5 15 30 50 75 105 140 180 225 275
4.2.3 PROD乘積函數
prod函數與sum之功能大體相同,只是prod是將各元素沿特定陣列方向相乘,得其乘積為答案。例如:
>>prod(1:5)
ans = 120
將上式之魔術方陣A進行行向運算:
>>prod(A)
ans =
172040 155520 43225 94080 142560
顯然,其各行結果不像加法,會有相同的結果。若要列向相乘,也可以設dim=2:
>>prod(A,2)
ans =
48960
180320
137280
143640
89100
4.2.4 CUMPROD累積函數
累積函數cumprod與累加 cumsum亦屬相同的功能,只是以乘法表示而已。其可能應用的則為等比級數之產生。例如:
>>cumprod(1:2:10)
ans =
1 3 15 105 945
4.2.5 STD標準差
一般標準差之計算有兩種方式,其一為分母除以n-1,即不包括平均值之項目,一為分母除以n,
計算上式標準差之函數型式如下:
s=std(X, flag, dim)
其中dim之定義與前面相同外,flag之旗標為0則採用第一式計算標準差,換言之,其分母為n-1;若旗標為1,即採用第二式計算。一般採用的方式以旗標為0者為多,其效果與不標旗標的情況相同。相關例子如下:設M為隨機函數:
>>M=round(rand(4,5)*100)-50
M =
34 33 -20 -20 -12
-48 0 -31 4 36
18 21 -31 -35 35
-12 -7 18 20 9
>>std(M)
ans =
36.1109 18.5000 23.2522 24.5000 23.0217
>>std(M,1)
ans =
31.2730 16.0215 20.1370 21.2176 19.9374
std(M)與std(M,1)之差異在於前者除以n-1,後者除以n。在項目較少的場合,後者之變異數會較小,在統計學上會有顯著的差異。通常標準差常與平均值相配合,其平均值可以對應求得如下:
>>mean(M)
ans =
-2.0000 11.7500 -16.0000 -7.7500 17.0000
若要求得列向的標準差,則可令第三個參數dim=2,得到的是行向量標準差。
>>std(M,0,2)
ans =
28.0357
32.6833
32.2614
14.5017
若需求得整個矩陣之平均值與標準差,則可改用下面方式計算:
>>[mean(M(:)) std(M(:))]
ans =
0.6000 26.0897
由於M矩陣為隨機函數產生,故其平均值應接近於零。
沒有留言:
張貼留言