WolframAlpha:解决多种功能

时间:2009-10-28 08:50:30

标签: math equation wolframalpha

我正在尝试使用WolframAlpha来解决变量。

我有

u(k, r) = (900-3k)r^(k-1)

s(n, r) = sum u(k, r), k=1 to n

我想用

解决r问题
s(5000, r) = -600000000000

我尝试了各种各样的咒语,但似乎无法让它发挥作用。我甚至无法定义s来评估它。

如果您在意,那就是解决这个问题:http://projecteuler.net/index.php?section=problems&id=235

1 个答案:

答案 0 :(得分:2)

警告:下面有剧透! 在用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必须是正的,以便正二次方被高次项否定。绘制函数显示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.002322108633r=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}]

此时我用x + 1手动替换r:

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做另一个替换以得到接下来的几位数,但这对我来说太麻烦了。