1.簡單計算
max(最大值) sum(累加和) median(中位數) mean (平均值)
各列積:prod 實際都可以是兩個參數,第二個為1(默認)按列,為二按行
求累計和、累計積、標准方差與升序排序 累計和函數CUMSUM,前n項的和, 累積積CUMPROD, 標准方差STD ,limit(求函數的極限)
2.Matlab實現t檢驗
T檢驗法:應用t分布理論對正態總體或近似服從正態分布的總體當方差
σ2未知時關於平均數的檢驗方法。
可以用於比較兩組數據是否來自同一分布。(可以用於比較兩組數據的
區分度)
例 研究矮壯素使玉米矮化的效果,在抽穗期測定噴矮壯素小區8株、對照區玉米9株,
其觀察值如下表:
y1(噴施矮壯素) 160 160 200 160 200 170 150 210
y2(對照) 170 270 180 250 270 290 270 230 170
從理論上判斷,噴施矮壯素只可能矮化無效而不可能促進植物長高,因
此假設H0:噴施矮壯素的株高與未噴的相同或更高,,即H0: μ1≥μ2
對HA: μ1<μ2,即噴施矮壯素的株高較未噴的為矮。顯著水平
α=0.05。
按ν=7+8=15,查t 表得一尾t0.05=1.753(一尾測驗t0.05等於兩尾測驗
的t0.10),現實得t=-3.05<- t0.05=-1.753,故P<0.05。 推斷:否定
H0: μ1≥μ2,接受HA: μ1<μ2,即認為玉米噴施矮壯素后,其株
高顯著地矮於對照。
1 x=[160 160 200 160 200 170 150 210]; 2 y=[170 270 180 250 270 290 270 230 170]; 3 [h,p,ci,stats]=ttest2(x,y,0.05,'left')
h =
1
p =
0.0040
ci =
-Inf -24.3220
stats =
tstat: -3.0545 df: 15 sd: 38.4599
計算x和y在5%的顯著性水平下是否來自同一分布(假設是否被接受) 結果:h=0,則表明假設在5%的置信度下被接受,即x,y在統計上可看做
來自同一分布的數據;h=1,表明假設被拒絕,即x,y在統計上認為是來
自不同分布的數據,即有區分度。例如A1,A2兩算法得出的結果分別為x
,y,且從均值上看mean(x)>mean(y),則對[h,sig,ci]=ttest2(x,y);當
h=1時,表明可以從統計上斷定算法A1的結果大於A2的結果(即兩組數據
均值的比較是有意義的),h=0則表示不能根據平均值來斷定兩組數據的
大小關系(因為區分度小)。
例 選生長期、發育進度、植株大小和其它方面皆比較一致的兩株番茄構成一組,共得7組,每組中一株接種A處理病毒,另一株接種B處理病毒,以研究不同處理方法的純化的病毒效果。
組別 y1(A法) y2(B法) d
1 10 25 -15
2 13 12 1
3 8 14 -6
4 3 15 -12
5 20 27 -7
6 20 20 0
7 6 18 -12
1 y1=[10 13 8 3 20 20 6]; 2 y2=[25 12 14 15 27 20 18]; 3 [h,p,ci,stat]=ttest(y1,y2,0.05,'both')
h =
1
p =
0.0203(越大越不好,0.05是邊界值)
ci =
-12.9797 -1.5917
stat =
tstat: -3.1309 df: 6 sd: 6.1567
3.方差分析
例 以A、B、C、D4種葯劑處理水稻種子,其中A為對照,每處理各得4個苗高觀察值(cm),試做方差分析。
葯劑 苗高觀察值 總和Ti 平均數
A 18 21 20 13 72 18
B 20 24 26 22 92 23
C 10 15 17 14 56 14
D 28 27 29 32 116 29
T=336 y=21
1 x=[18 20 10 28; 21 24 15 27; 20 26 17 29; 13 22 14 32] 2 [p,anovatab,stats]=anova1(x)
x =
18 20 10 28 21 24 15 27 20 26 17 29 13 22 14 32
p =
5.0626e-005
anovatab =
'Source' 'SS' 'df' 'MS' 'F' 'Prob>F' 'Columns' [504] [ 3] [ 168] [20.5714] [5.0626e-005] 'Error' [ 98] [12] [8.1667] [] [] 'Total' [602] [15] [] [] []
stats =
gnames: [4x1 char] n: [4 4 4 4] source: 'anova1' means: [18 23 14 29] df: 12 s: 2.8577
4.回歸分析
1 x=[35.5 34.1 31.7 40.3 36.8 40.2 31.7 39.2 44.2]' 2 y=[12 16 9 2 7 3 13 9 -1]' 3 [p,s]=polyfit(x,y,1)
p =
-1.0996 48.5493
s =
R: [2x2 double] df: 7 normr: 8.6410
4.散點圖
若直接畫plot(x,y),則是折線圖,
x,y為散點數據, scatter(x,y,'k*'), k為黑色,*為點型是散點圖
若采用數據擬合,繪出的是平滑的曲線
1 x= linspace(1,10,10); 2 y=[1.1 2 4 6 5.5 4.1 7 6.5 9.1 3]; 3 a=polyfit(x,y,3); 4 x1=[0:0.01:10]; 5 y1=a(4)+a(3)*x1+a(2)*x1.^2+a(1)*x1.^3; 6 plot(x1,y1,'-r')
5.相關分析
[R,P,RLO,RUP]=CORRCOEF(x,y)