Quand utiliser FindRoot au lieu de NSolve ?
Comme Solve, NSolve est principalement conçu pour résoudre des équations polynomiales.
In[1]:= NSolve[4 - r^2 == r, r]
Out[1]= {{r -> -2.56155}, {r -> 1.56155}}
Les méthodes algébriques disponibles dans NSolve ne peuvent pas traiter les équations générales avec des fonctions transcendantes, par exemple :
In[2]:= NSolve[4 Cos[r] == r, r]
NSolve::nsmet: This system cannot be solved with the methods available to NSolve.
Out[2]= NSolve[4 Cos[r] == r, r]
FindRoot utilise des méthodes numériques pour partir d’une valeur initiale de la variable indépendante et localiser une solution :
In[3]:= fr = FindRoot[ 4 Cos[r] == r, {r, 1}]
Out[3]= {r -> 1.25235}
Vérifiez que la valeur renvoyée résout l’équation :
In[4]:= (4 Cos[r] - r) /. fr // Chop
Out[4]= 0
FindRoot trouve une solution par évaluation. Pour obtenir d’autres solutions avec FindRoot, les valeurs initiales doivent être choisies suffisamment proches des autres emplacements de la racine :
In[5]:= Plot[ 4 Cos[r] - r, {r, -2 Pi, 2 Pi}]
In[6]:= FindRoot[ 4 Cos[r] == r, {r, -4}]
Out[6]= {r -> -3.5953}
In[7]:= FindRoot[ 4 Cos[r] == r, {r, -2}]
Out[7]= {r -> -2.13333}
Voir aussi le tutoriel sur la résolution numérique d’équations.
[English]
Contacter l'assistance
Vous avez une question sur la facturation, l'activation ou quelque chose de plus technique, nous sommes prêts à vous aider.
1-800-WOLFRAM (+1-217-398-0700 pour les appels internationaux)
Assistance clients
Du lundi au vendredi
De 8 h à 17 h, heure du Centre des États-Unis
- Enregistrement ou activation du produit
- Informations avant la vente et commande
- Aide à l'installation et au premier lancement
Assistance technique avancée (pour les clients admissibles)
Du lundi au jeudi
De 8 h à 19 h, heure du Centre des États-Unis
Le vendredi
De 8 h 30 à 10 h et de 11 h à 17 h, heure du Centre des États-Unis
- Assistance technique prioritaire
- Assistance produits par des experts Wolfram
- Aide avec la programmation en Wolfram Language
- Assistance installation avancée