如何解具有求和的方程?
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。
我解方程 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。