Afficher un nombre d'itérations

Bonjour à tous,

Etant totalement débutant en programmation VBA j'aurais besoin d'un petit coup de main pour un exercice que voici :

Trouver la racine de l'équation 1+exp(-x)=x par la méthode des points fixes.

L'énoncé indique que la méthode pouvant ne pas être convergente, le nombre d'itérations est alors limité à 20.

L'énoncé nous indique également le résultat à trouver c'est à dire x=1.278454 en 12 itérations.

Je trouve le bon résultat mais mon nombre d'itérations est de 20.

On part de x=1 et on s'arrête lorsque l'on a une précision à 10^-6 de la valeur recherchée.

Sub exo()

'Déclaration des variables'

Dim i As Integer

Dim nmax As Double

Dim x As Double

Dim iter As Integer

iter = 0

nmax = 20

For i = 1 To nmax

x = 1 + Exp(-x)

iter = iter + 1

If Abs(x - (1 + Exp(i - 1))) <= 10 ^ -6 Then

Exit For

End If

Next

MsgBox "La racine est égale à " & x & " trouvée en " & iter & " itérations."

End Sub

Un indice peut être pour obtenir les 12 itérations recherchées?

Merci d'avance

Bonsoir,

tu dois comparer au résultat précédent fonction de x et non fonction de i. il me semble d'ailleurs étonnant que tu arrives malgré tout au résultat en 20 itérations.

dépendant de la manière dont on compte les itérations, on arrive à 12 ou à 13.

Sub exo()

'Déclaration des variables'

Dim i As Integer
Dim nmax As Double
Dim x As Double
Dim iter As Integer

iter = 0
nmax = 20

For i = 1 To nmax
x1 = x
x = 1 + Exp(-x)

If Abs(x - x1) <= 10 ^ -6 Then
Exit For
End If
iter = iter + 1
Next
MsgBox "La racine est égale à " & x & " trouvée en " & iter & " itérations."

End Sub
Rechercher des sujets similaires à "afficher nombre iterations"