星期四, 12月 21, 2006

matlab課堂筆記 061222_第十一章 統計與迴歸

相關係數 corrcoef

R = corrcoef(X)
R = corrcoef(x,y)
[R,P]=corrcoef(...)


R代表correlation coefficient;P即代表判斷是否有統計意義的p

例題:
>> x=1:5;y=x.^3;
>> [R,P]=corrcoef(x,y)

R =
1.0000 0.9431
0.9431 1.0000
P =
1.0000 0.0161
0.0161 1.0000
>> [i,j] = find(P<0.05)

i =
2
1
j =
1
2

R(1,1)代表x和x之間的相關係數 → 一定為1
R(2,1)代表y和x之間的相關係數 → 一定為1
R(1,2)代表x和y之間的相關係數
R(2,2)代表y和y之間的相關係數


群組函數 grpstats

應用於計算複雜分組的平均問題。

means = grpstats(X, group)
[means, sem, counts, name] = grpstats(X, group, whichstats)
grpstats(x, group, alpha)


輸入參數中X為求平均值之對象(可為多行,其平均結果也會多行)。group則為與X同列長之陣列,可能由多項分組之向量組成,其內容可為字串列或細胞陣列之文字,如{G1 G2 G3}。在輸出項中,第一項means為群組平均,sem為組內標準差,counts為各組之項數,name則為各組之名稱。

例題:
x =
1 2 3 4 5 6 7 8 9
>> group=[1 1 1 1 2 2 2 2 2]
group =
1 1 1 1 2 2 2 2 2
>> [m,s,c]=grpstats(x,group)
m =
2.5000
7.0000
s =
0.6455
0.7071
c =
4
5

特殊指令 normrnd

normrnd(m,s)

可由一個平均值為m,標準差為s的平均分佈中隨機產生一個數值。

堆疊矩陣 repmat

B = repmat(A,m,n)
B = repmat(A,[m n])
B = repmat(A,[m n p...])


以A之內容堆疊在一(M x N)的矩陣B中。B矩陣之大小由MXN及A矩陣之內容決定。

例題:可以repmat指令作出與ones(3,3)*5相同的結果
>> repmat(5,3,3)

ans =

5 5 5
5 5 5
5 5 5

和使用ones(m,m)*n的方式相比的優點是
使用repmat指令可以在A置放文字串!!!

沒有留言: