La méthode de Newton est l'un des algorithmes pour trouver x tel que f (x) = 0, et c'est une méthode qui peut approcher la solution de l'équation.
En utilisant la méthode de Newton, il est possible d'approcher la valeur de √2 et la valeur de x de telle sorte que sin (x) = 0,5.
Dans la méthode Newton, le calcul est basé sur l'idée suivante.
** Lors de la recherche d'une valeur x telle que f (x) = 0, la section tangente x2 à une valeur x1 est plus proche de la valeur vraie x que la valeur d'origine x1 **
Comme le montre la figure ci-dessous, lorsque vous voulez trouver x tel que f (x) = 0 dans une fonction appelée f (x), vous pouvez trouver la section x2 de la ligne tangente f '(x) à une certaine valeur x1. Cela signifie que x2 est plus proche que x1 de la valeur x que vous voulez trouver.
Si vous effectuez la même opération en fonction de la valeur de x2 calculée précédemment, x3 sera plus proche de la valeur cible x.
Plus vous répétez cette procédure, plus la valeur de section calculée sera proche de la valeur x souhaitée.
La procédure de recherche de x2 et x3 à partir de x1 est indiquée et les expressions relationnelles générales sont calculées à partir de celles-ci.
Notez le triangle à angle droit créé par x1, x2, f (x1) comme indiqué dans la figure ci-dessous. ⊿x et ⊿y représentent respectivement les longueurs des côtés d'un triangle rectangle.
Puisque f '(x1) est une ligne tangente à f (x1), x2 peut être obtenu à partir de la relation de la formule de définition de l'inclinaison.
\begin{aligned}
f'(x_1)&=\frac{\Delta y}{\Delta x} \\
&=\frac{f(x_1)}{x_1 - x_2} \\
\Leftrightarrow x_1-x_2&=\frac{f(x_1)}{f'(x_1)} \\
\therefore x_2 &=x_1 - \frac{f(x_1)}{f'(x_1)}
\end{aligned}
Vous pouvez également calculer x3 à partir de x2 en utilisant la même procédure.
\begin{aligned}
x_3 &=x_2 - \frac{f(x_2)}{f'(x_2)}
\end{aligned}
En d'autres termes, l'expression relationnelle suivante est valable pour la coordonnée x xn + 1 calculée en appliquant la méthode Newton à la coordonnée x xn calculée en exécutant la méthode de Newton n fois.
Méthode Newton
\begin{aligned}
x_{n+1} &=x_n - \frac{f(x_n)}{f'(x_n)}
\end{aligned}
Plus vous augmentez de calculs n, plus xn se rapproche de la vraie valeur x.
Je pense que j'ai pu comprendre la méthode Newton d'une manière ou d'une autre, mais je vais approfondir ma compréhension de la façon de l'utiliser réellement à travers des exemples de calcul réels. Ici, je voudrais trouver la valeur de √2.
Premièrement, je ne connais pas la valeur de √2, alors définissons-la comme x
x=\sqrt{2}
Mettez les deux côtés au carré pour faciliter le calcul et transformez la formule de sorte que f (x) = 0.
\begin{aligned}
x^2 &= 2 \\
x^2-2 &= 0 \\
f(x) &= 0 \hspace{1em} (\therefore f(x) = x^2 - 2)
\end{aligned}
Lorsqu'il est appliqué à l'expression relationnelle de la méthode Newton, il devient comme suit.
\begin{aligned}
x_{n+1} &= x_n - \frac{f(x_n)}{f'(x_n)} \\
&= x_n - \frac{x_{n}^2-2}{2x_n}
\end{aligned}
Ici, supposons que la valeur de x1 est 5 et effectuons le calcul.
\begin{aligned}
x_2 &= x_1 - \frac{x_{1}^2-2}{2x_1} \\
&= 5 - \frac{5^2 -2 }{2 \times 5} \\
&= 2.7
\end{aligned}
Faites le même calcul jusqu'à n = 5
\begin{aligned}
x_3 &\risingdotseq 1.720 \\
x_4 &\risingdotseq 1.441 \\
x_5 &\risingdotseq 1.414
\end{aligned}
Puisque la valeur vraie de √2 est 1,414 ..., vous pouvez voir que plus le nombre de calculs est élevé, plus la valeur vraie est proche.
Le programme qui calcule la valeur de √2 comme indiqué ci-dessus est présenté ci-dessous. Écrivez le programme en utilisant Python3 du point de vue que le contenu du programme est facile à comprendre.
NewtonMethod.py
#Définition d'une valeur initiale appropriée
x = 5.0
while True:
#Trouver un nouveau x par la méthode Newton
x2 = x - (x * x - 2) / (x * 2)
#Le calcul se termine lorsque la valeur calculée se situe dans la plage d'erreur
if abs(x2 - x) < 0.0001:
break
#Répétez le calcul avec la valeur calculée comme x
x = x2
#Affichage des résultats des calculs
print(x)
x = 5.0 En définissant la valeur initiale sur 5,0 au lieu de 5, le résultat après la virgule décimale est également sécurisé dans la variable.
x2 = x - (x * x - 2) / (x * 2) À partir de l'équation obtenue dans la section précédente, calculez la valeur de x qui est proche de la valeur vraie.
if abs(x2 - x) < 0.0001 Au fur et à mesure que le calcul est répété, la solution s'approche de la valeur réelle et le changement de valeur devient plus petit. Par conséquent, définissez l'erreur et terminez le calcul lorsque le montant de la modification de la valeur se situe dans la plage de l'erreur.
La méthode de Newton est une méthode pour trouver x tel que f (x) = 0, et elle peut être calculée approximativement par rapport à x en effectuant des calculs itératifs. De plus, en spécifiant la plage d'erreur, vous pouvez obtenir une valeur avec un nombre garanti de chiffres effectifs.
Recommended Posts