当前位置:  开发笔记 > 编程语言 > 正文

如何更有效地实现这一点

如何解决《如何更有效地实现这一点》经验,为你挑选了1个好方法。

所以我有一个函数(我用伪函数语言写这个,我希望它清楚):

dampen (lr : Num, x : Num) = x + lr*(1-x)

我希望将这n次应用于值x.我可以递归地实现它:

dampenN (0, lr, x) = dampen(lr, x)
dampenN (n, lr, x) = dampenN(n-1, lr, dampen(x))

但是必须有一种方法可以在数学上做到这一点,而不需要求助于迭代过程(递归或循环).

不幸的是,我的代数技能已经超乎想象了,任何人都可以帮忙吗?



1> MarkusQ..:
x + lr*(1-x) 
= x + lr - lr*x 
= x*(1-lr)+lr

应用它两次给

(x*(1-lr)+lr)*(1-lr)+lr 
= x*(1-lr)^2 + lr*(1-lr) + lr

和三次

(x*(1-lr)+lr)*(1-lr)^2 + lr*(1-lr) + lr 
= x*(1-lr)^3 + lr*(1-lr)^2 + lr*(1-lr) + lr

或者一般来说,n次给出

x*(1-lr)^n + lr * ( (1-lr)^n + (1-lr)^(n-1)...+(1-lr) +1)

这有帮助吗?

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有