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