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, чтобы получить следующие несколько цифр, но это слишком утомительно для меня, чтобы пытаться.

Другие вопросы по тегам