WolframAlpha: решить несколько функций
Я пытаюсь использовать 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
1 ответ
ВНИМАНИЕ: Спойлер ниже! Вы должны попросить WA полностью упростить выражение s(n,r) после того, как вы подставите в него выражение u(k,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.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, чтобы получить следующие несколько цифр, но это слишком утомительно для меня, чтобы пытаться.