假定有
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