2009-10-28 9 views
2

J'essaie d'utiliser WolframAlpha pour résoudre une variable.WolframAlpha: Résoudre plusieurs fonctions

Je

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

et

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

et je veux résoudre pour r avec

s(5000, r) = -600000000000 

J'ai essayé diverses incantations, mais ne peut pas sembler obtenir ça marche. Je ne peux même pas définir s pour l'évaluer.

Si vous vous inquiétez, il est de résoudre ce problème: http://projecteuler.net/index.php?section=problems&id=235

Répondre

2

AVERTISSEMENT: Spoiler ci-dessous! Vous devez demander à WA de FullSimplifier l'expression de s (n, r) après y avoir substitué u (k, r). Il devrait donner

(3 (299 - 300 r + r^n (-299 + n + 300 r - n r)))/(-1 + r)^2 

Résoudre l'égalité finale est alors juste de trouver la racine d'un polynôme (degré élevé):

299 + 200000000000 (-1 + r)^2 + (4701 - 4700 r) r^5000 == 300 r 

r != 1 depuis était un pôle de l'expression originale. Notez que r doit être positif pour que le quadratique positif soit annulé par le terme de haut degré. Le tracé de la fonction montre qu'il est positif pour r < 1 et négatif pour r >~ 1, donc la solution est passée à r=1. Maintenant modifier les variables afin que x = r-1 et regarder près x=0:

200000000000 x^2 + (1 + x)^5000 (1 - 4700 x) - 1 - 300 x == 0 

Cela devrait être enlightnening:

Plot[200000000000 x^2 + (1 + x)^5000 (1 - 4700 x) - 1 - 300 x, {x, 0, 0.003}] 

En utilisant FindRoot avec une bonne estimation donne x=0.002322108633 ou r=1.002322108633.


Les commandes WA suivent. D'abord, j'utilisé

FullSimplify[Sum[(900-3k)r^(k-1),{k,1,n]] 

Ensuite, vous devrez retaper l'expression qu'il recrache:

Plot[(3 (299 - 300 r + r^5000 (-299 + 5000 + 300 r - 5000 r)))/(-1 + r)^2 + 6000000000,{r,-2,2}] 

A ce stade, je r remplacé manuellement avec x + 1:

Plot[200000000000 x^2 + (1 + x)^5000 (1 - 4700 x) - 1 - 300 x, {x, 0, 0.003}] 

Et résolution pour la racine:

FindRoot[200000000000 x^2 + (1 + x)^5000 (1 - 4700 x) - 1 - 300 x, {x, 0.0023}] 

Ce qui ne donne pas assez de précision, et c'est aussi loin que vous pouvez aller en utilisant seulement WA. Vous pouvez essayer de soustraire les premiers chiffres que WA vous donne, et faire une autre substitution avec y = x + 0.00232211 pour obtenir les chiffres suivants, mais c'est trop fastidieux pour moi d'essayer.

+0

Merci. Ces équations sont superbes. Mais pouvez-vous s'il vous plaît ajouter dans les commandes alpha wolfram pour obtenir ces fonctions? Comment puis-je simplifier complètement?Comment résoudre avec r! = 1? Pourquoi est-ce que je fais un changement variable? –

+0

J'ai utilisé Mathematica pour les obtenir, mais je vais éditer mon commentaire pour mettre dans les commandes WA correspondantes. –