我解方程 sum((2*x+1)/k^x)==3*k
(其中 x 属于整数)为
x=0:10000
y=function(k){sum((2*x+1)/k^x)==3*k}
y(2)
它返回TRUE
。
但是我想要一个自动解决的方法,我该怎么解决呢?
最佳答案
你可以尝试函数uniroot
:
uniroot(function(k){sum((2*x+1)/k^x)-3*k}, c(0,100))$root
#[1] 2.000019
uniroot(function(k){sum((2*x+1)/k^x)-3*k}, c(1,10))$root
#[1] 2
此外,在第一次调用中,由于数字表示的原因,您可能无法准确地得到2
,因此您可能需要添加容差;请参阅here了解有关该主题的更多信息。
关于r - 如何解有求和的方程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31338537/