我正在尝试使用 WolframAlpha 来求解变量。
我有
u(k, r) = (900-3k)r^(k-1)
和
s(n, r) = sum u(k, r), k=1 to n
我想用
s(5000, r) = -600000000000
我尝试了各种咒语,但似乎无法让它发挥作用。我什至无法s
定义来评估它。
如果你在乎,那就是解决这个问题:http ://projecteuler.net/index.php?section=problems&id=235
我正在尝试使用 WolframAlpha 来求解变量。
我有
u(k, r) = (900-3k)r^(k-1)
和
s(n, r) = sum u(k, r), k=1 to n
我想用
s(5000, r) = -600000000000
我尝试了各种咒语,但似乎无法让它发挥作用。我什至无法s
定义来评估它。
如果你在乎,那就是解决这个问题:http ://projecteuler.net/index.php?section=problems&id=235
警告:以下剧透! 在将 u(k,r) 代入后,您应该要求 WA 对 s(n,r) 的表达式进行完全简化。它应该给
(3 (299 - 300 r + r^n (-299 + n + 300 r - n r)))/(-1 + r)^2
求解最终等式只需找到(高次)多项式的根:
299 + 200000000000 (-1 + r)^2 + (4701 - 4700 r) r^5000 == 300 r
因为r != 1
那是原始表达的一个极点。请注意,r 必须为正数,以便正二次方被高次项否定。绘制函数图显示 It 是正数r < 1
,负数r >~ 1
,所以解决方案已经过去了r=1
。现在更改变量,以便x = r-1
靠近x=0
:
200000000000 x^2 + (1 + x)^5000 (1 - 4700 x) - 1 - 300 x == 0
这应该是启发性的:
Plot[200000000000 x^2 + (1 + x)^5000 (1 - 4700 x) - 1 - 300 x, {x, 0, 0.003}]
将 FindRoot 与一个好的猜测一起使用会给出x=0.002322108633
or r=1.002322108633
。
WA 命令紧随其后。首先我用
FullSimplify[Sum[(900-3k)r^(k-1),{k,1,n]]
然后你必须重新输入它吐出的表达式:
Plot[(3 (299 - 300 r + r^5000 (-299 + 5000 + 300 r - 5000 r)))/(-1 + r)^2 + 6000000000,{r,-2,2}]
此时我手动将 r 替换为 x+1:
Plot[200000000000 x^2 + (1 + x)^5000 (1 - 4700 x) - 1 - 300 x, {x, 0, 0.003}]
并解决根源:
FindRoot[200000000000 x^2 + (1 + x)^5000 (1 - 4700 x) - 1 - 300 x, {x, 0.0023}]
这没有提供足够的精度,这是您仅使用 WA 所能达到的程度。您可以尝试减去 WA 给您的前几位数字,然后用 y = x + 0.00232211 进行另一个替换以获得接下来的几位数字,但这对我来说太乏味了,无法尝试。