我正在尝试使用WolframAlpha来求解一个变量。
我有过
u(k, r) = (900-3k)r^(k-1)和
s(n, r) = sum u(k, r), k=1 to n我想用r来解决r
s(5000, r) = -600000000000我试过各种咒语,但似乎不能让它起作用。我甚至不能定义s来评估它。
如果你关心这个问题,那就是解决这个问题:http://projecteuler.net/index.php?section=problems&id=235
发布于 2009-10-29 03:51:57
WARNING:下面的剧透!你应该在你用u(k,r)替换s(n,r)的表达式后,让WA FullSimplify 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=0附近查看x = r-1和
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或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进行另一次替换,以获得接下来的几位数字,但这对我来说太乏味了。
https://stackoverflow.com/questions/1635925
复制相似问题