如何解决以下重复关系?
f(n+2) = 2*f(n+1) - f(n) + 2 where n is even
f(n+2) = 3*f(n) where n is odd
f(1) = f(2) = 1
对于奇数n
,我可以解决递归问题,结果证明它是具有公共比率3的几何级数。
当n
甚至是f(n) = r^n
时,我就能找到并解决递归关系的同质部分。因此解决方案就是r = 1
。因此,解决方案是c1 + c2*n
。但是,如何解决特定的组成部分?我在正确的轨道上吗?上述解决方案还有其他方法吗?
答案 0 :(得分:1)
奇数 n
的重复很容易通过您尝试的替换来解决:
将其替换为偶 n
的重复周期:
尝试#1
对形式进行一般替换:
请注意,根据奇数递归,指数是n/2
而不是n
,但这纯粹是选择问题
匹配相同类型的术语:
但是此解决方案不适用于边界条件f(2) = 1
:
尝试#2
事实证明,需要第二个指数项:
和以前一样,其中一个指数项需要匹配3^(n/2)
:
最后一个等式具有解d = 0, -1
;显然只有非平凡的
很有用:
全部 n ≥ 2
的最终解决方案:
替代方法
更长,但(也许至少在我看来是这样)更直观-扩大重复次数m
次:
观察模式:
对于扩展数m
,奇数为 的加法因子为2,但对于偶数 m
,其相加因子为抵消。
每个扩展为 odd 2 * 3^(n/2-m)
添加因子m
,并为减去 even m
。
每个扩展也会为偶数 f(n-2m)
添加因子m
,并减去表示 odd m
。
结合这些观察结果,为第m
次扩展写一个通用的封闭式表达式:
在最后一步中使用几何系列的标准公式。
递归停止于f(2) = 1
:
与以前相同的结果。