假定有
4
行數(shù)據(jù),如:
a0
|
b0
|
…
|
a1
|
b1
|
…
|
a2
|
b2
|
…
|
a3
|
b3
|
…
|
?
垂直分析:
首先計算奇數(shù)行:
C
(
2i+1
)
= P(2i+1) –
[P(2i)+P(2i+2) ]/2
C (2i) = P (2i) + [C (2i-1) +C (2i+1) +2]/4
?
這里的
[]
表示下取整數(shù),例如
[1.5]= 1
。
為了達到這個目的需要對第一個運算減去
1
,轉(zhuǎn)換為整數(shù),因此:
C(2i+1) = P(2i+1) – (int)((P(2i) + P(2i+2) -1)/2)
?
C (2i) = P (2i) + (int) (C (2i-1) +C (2i+1)
+2)/4)
?
假設(shè):
a0 = 10, a1
= 12, a2 = 11, a3 = 14;
假設(shè)
C-1 = 0
那么
C1 = a1 –
(int) ((a0+a2 -1)/2) = 12-(int)((21-1)/2) = 2
那么
C0 = a0 +
(
int
)
((0+C1+2)/4) = 10 + (2+2)/4 = 11
?
反變換為時候先做偶數(shù)行變換,然后奇數(shù)行:
P(2i) = C(2i) – (int)((C(2i-1) +C(2i+1)+2)/4)
P(2i+1) = C(2i+1) +(int)((P(2i) + P(2i+2)
-1)/2)
?
假設(shè)已經(jīng)取得數(shù)據(jù),這個時候
C1
= 2, C0 = 11, C-1 = 0;
首先計算
0
行:
那么
a0 = C0 –
(int)((0 + C1+2)/4) = 11 – 1 = 10
然后
a1 = C1 +
(int)((a0 + a2-1)/2) =? 2 +
(int)((10+11-1)/2) =12