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


person Paul Tarjan    schedule 28.10.2009    source источник


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

person Victor Liu    schedule 28.10.2009
comment
Спасибо. Эти уравнения выглядят великолепно. Но не могли бы вы добавить альфа-команды wolfram, чтобы получить эти функции? Как выполнить полное упрощение? Как решить с r!=1? Почему я делаю изменение переменной? - person Paul Tarjan; 29.10.2009
comment
Я использовал Mathematica, чтобы получить их, но я отредактирую свой комментарий, добавив соответствующие команды WA. - person Victor Liu; 29.10.2009