我有一个接受参数的函数。为了使此函数“收敛”,此参数必须低于其原始值。
问题是此参数的值是事先未知的。所以有一次它可能是0.01
而另一个0.0000084662
,所以我无法提前知道从中减去多少。
是否有一种简单的方法可以在不事先知道其值的情况下减少此参数?它只需要减少一点。参数将始终在[0.0-1.0]范围内。
编辑:
似乎像param = param * 0.1
那样做了这个工作!
答案 0 :(得分:0)
如果您确定参数不接近存储类型的限制,只需乘以小于1的数字(使数字接近零):
new_val = old_val * 0.99; # new_val is 99% of old_val
如果符号很重要,则以下代码会将数字减少1%:
new_val = old_val - abs(0.01 * old_val);
答案 1 :(得分:0)
好吧,让我们a bit
说5%
,然后:
def my_func(parameter):
return parameter - (0.05 * parameter)