如何解具有求和的方程?

How to solve equation having summation?

我解方程 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) 

它returns 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