Hello,
Comme c'est calme, j'en profite pour
poser une petite colle:
' 8<-----------------------------------------
Option Explicit
Private Sub b(p As Double, q As Double)
Dim r As Double
r = (p + 2 / p) / 2
If q - r Then
q = r
b q, q
End If
End Sub
Private Sub Command1_Click()
Dim n As Double
b 1, n
' Que vaut n ? Pourquoi ?
End Sub
' 8<-----------------------------------------
Bonne nuit :-o))
Hello,
Comme c'est calme, j'en profite pour
poser une petite colle:
' 8<-----------------------------------------
Option Explicit
Private Sub b(p As Double, q As Double)
Dim r As Double
r = (p + 2 / p) / 2
If q - r Then
q = r
b q, q
End If
End Sub
Private Sub Command1_Click()
Dim n As Double
b 1, n
' Que vaut n ? Pourquoi ?
End Sub
' 8<-----------------------------------------
Bonne nuit :-o))
Hello,
Comme c'est calme, j'en profite pour
poser une petite colle:
' 8<-----------------------------------------
Option Explicit
Private Sub b(p As Double, q As Double)
Dim r As Double
r = (p + 2 / p) / 2
If q - r Then
q = r
b q, q
End If
End Sub
Private Sub Command1_Click()
Dim n As Double
b 1, n
' Que vaut n ? Pourquoi ?
End Sub
' 8<-----------------------------------------
Bonne nuit :-o))
Bonjour Jean-Marc,
Je n'ai pas tout compris, et je ne suis pas
certain d'avoir le niveau:
Déjà, je ne comprends pas cette expression, elle
veut dire quoi ?
If q - r... if q - r "= quoi" ???
Bonjour Jean-Marc,
Je n'ai pas tout compris, et je ne suis pas
certain d'avoir le niveau:
Déjà, je ne comprends pas cette expression, elle
veut dire quoi ?
If q - r... if q - r "= quoi" ???
Bonjour Jean-Marc,
Je n'ai pas tout compris, et je ne suis pas
certain d'avoir le niveau:
Déjà, je ne comprends pas cette expression, elle
veut dire quoi ?
If q - r... if q - r "= quoi" ???
>
"François Picalausa" wrote in message
news:
On Jan 30, 11:25 pm, "Jean-marc"
wrote:
Hello,
A tout hasard, sqrt(2) ?
Il s'agit, il me semble, d'une méthode itérative d'approximation de
type Newton (remplacement de la courbe par sa tangente) appliquée au
calcul de cette racine, dont le cas particulier du calcul de la racine
carrée est attribuée à Héron d'Alexandrie
L'expression générale est :
r = p - f(p) / f'(p)
où r est l'approximation suivante, et p la précédente
et où on cherche un zéro de f(p).
Dans ce cas précis on peut exprimer x^2 - 2 = 0, et donc f'(p)=2x, ce
qui montre l'équivalence avec :
r = (p + 2 / p) / 2
Les paramètres sont donc:
p : approximation initiale
q : valeur de sqrt(2)
Les itération sont "remplacées" par une récursion de b sur base de la
nouvelle approximation comme nouvelle valeur de départ (q)
L'arrêt est du à la précision finie du type double, qui finira par
rendre la différence entre la nouvelle approximation (r) et
l'approximation précédente (q) négligeable.
>
"François Picalausa" <fpicalausa@gmail.com> wrote in message
news:371a3c49-6ab7-4133-bf0e-ecfe4b9f585c@z17g2000hsg.googlegroups.com...
On Jan 30, 11:25 pm, "Jean-marc"
<NO_SPAM_jean_marc...@yahoo.fr.invalid> wrote:
Hello,
A tout hasard, sqrt(2) ?
Il s'agit, il me semble, d'une méthode itérative d'approximation de
type Newton (remplacement de la courbe par sa tangente) appliquée au
calcul de cette racine, dont le cas particulier du calcul de la racine
carrée est attribuée à Héron d'Alexandrie
L'expression générale est :
r = p - f(p) / f'(p)
où r est l'approximation suivante, et p la précédente
et où on cherche un zéro de f(p).
Dans ce cas précis on peut exprimer x^2 - 2 = 0, et donc f'(p)=2x, ce
qui montre l'équivalence avec :
r = (p + 2 / p) / 2
Les paramètres sont donc:
p : approximation initiale
q : valeur de sqrt(2)
Les itération sont "remplacées" par une récursion de b sur base de la
nouvelle approximation comme nouvelle valeur de départ (q)
L'arrêt est du à la précision finie du type double, qui finira par
rendre la différence entre la nouvelle approximation (r) et
l'approximation précédente (q) négligeable.
>
"François Picalausa" wrote in message
news:
On Jan 30, 11:25 pm, "Jean-marc"
wrote:
Hello,
A tout hasard, sqrt(2) ?
Il s'agit, il me semble, d'une méthode itérative d'approximation de
type Newton (remplacement de la courbe par sa tangente) appliquée au
calcul de cette racine, dont le cas particulier du calcul de la racine
carrée est attribuée à Héron d'Alexandrie
L'expression générale est :
r = p - f(p) / f'(p)
où r est l'approximation suivante, et p la précédente
et où on cherche un zéro de f(p).
Dans ce cas précis on peut exprimer x^2 - 2 = 0, et donc f'(p)=2x, ce
qui montre l'équivalence avec :
r = (p + 2 / p) / 2
Les paramètres sont donc:
p : approximation initiale
q : valeur de sqrt(2)
Les itération sont "remplacées" par une récursion de b sur base de la
nouvelle approximation comme nouvelle valeur de départ (q)
L'arrêt est du à la précision finie du type double, qui finira par
rendre la différence entre la nouvelle approximation (r) et
l'approximation précédente (q) négligeable.
Hello,
Comme c'est calme, j'en profite pour
poser une petite colle:
' 8<-----------------------------------------
Option Explicit
Private Sub b(p As Double, q As Double)
Dim r As Double
r = (p + 2 / p) / 2
If q - r Then
q = r
b q, q
End If
End Sub
Private Sub Command1_Click()
Dim n As Double
b 1, n
' Que vaut n ? Pourquoi ?
End Sub
' 8<-----------------------------------------
Bonne nuit :-o))
Hello,
Comme c'est calme, j'en profite pour
poser une petite colle:
' 8<-----------------------------------------
Option Explicit
Private Sub b(p As Double, q As Double)
Dim r As Double
r = (p + 2 / p) / 2
If q - r Then
q = r
b q, q
End If
End Sub
Private Sub Command1_Click()
Dim n As Double
b 1, n
' Que vaut n ? Pourquoi ?
End Sub
' 8<-----------------------------------------
Bonne nuit :-o))
Hello,
Comme c'est calme, j'en profite pour
poser une petite colle:
' 8<-----------------------------------------
Option Explicit
Private Sub b(p As Double, q As Double)
Dim r As Double
r = (p + 2 / p) / 2
If q - r Then
q = r
b q, q
End If
End Sub
Private Sub Command1_Click()
Dim n As Double
b 1, n
' Que vaut n ? Pourquoi ?
End Sub
' 8<-----------------------------------------
Bonne nuit :-o))
On Jan 30, 11:25 pm, "Jean-marc"
wrote:Hello,
Comme c'est calme, j'en profite pour
poser une petite colle:
' 8<-----------------------------------------
Option Explicit
Private Sub b(p As Double, q As Double)
Dim r As Double
r = (p + 2 / p) / 2
If q - r Then
q = r
b q, q
End If
End Sub
Private Sub Command1_Click()
Dim n As Double
b 1, n
' Que vaut n ? Pourquoi ?
End Sub
' 8<-----------------------------------------
Bonne nuit :-o))
Hello,
A tout hasard, sqrt(2) ?
Il s'agit, il me semble, d'une méthode itérative d'approximation de
type Newton (remplacement de la courbe par sa tangente) appliquée au
calcul de cette racine, dont le cas particulier du calcul de la racine
carrée est attribuée à Héron d'Alexandrie
L'expression générale est :
r = p - f(p) / f'(p)
où r est l'approximation suivante, et p la précédente
et où on cherche un zéro de f(p).
Dans ce cas précis on peut exprimer x^2 - 2 = 0, et donc f'(p)=2x, ce
qui montre l'équivalence avec :
r = (p + 2 / p) / 2
Les paramètres sont donc:
p : approximation initiale
q : valeur de sqrt(2)
Les itération sont "remplacées" par une récursion de b sur base de la
nouvelle approximation comme nouvelle valeur de départ (q)
L'arrêt est du à la précision finie du type double, qui finira par
rendre la différence entre la nouvelle approximation (r) et
l'approximation précédente (q) négligeable.
François
On Jan 30, 11:25 pm, "Jean-marc"
<NO_SPAM_jean_marc...@yahoo.fr.invalid> wrote:
Hello,
Comme c'est calme, j'en profite pour
poser une petite colle:
' 8<-----------------------------------------
Option Explicit
Private Sub b(p As Double, q As Double)
Dim r As Double
r = (p + 2 / p) / 2
If q - r Then
q = r
b q, q
End If
End Sub
Private Sub Command1_Click()
Dim n As Double
b 1, n
' Que vaut n ? Pourquoi ?
End Sub
' 8<-----------------------------------------
Bonne nuit :-o))
Hello,
A tout hasard, sqrt(2) ?
Il s'agit, il me semble, d'une méthode itérative d'approximation de
type Newton (remplacement de la courbe par sa tangente) appliquée au
calcul de cette racine, dont le cas particulier du calcul de la racine
carrée est attribuée à Héron d'Alexandrie
L'expression générale est :
r = p - f(p) / f'(p)
où r est l'approximation suivante, et p la précédente
et où on cherche un zéro de f(p).
Dans ce cas précis on peut exprimer x^2 - 2 = 0, et donc f'(p)=2x, ce
qui montre l'équivalence avec :
r = (p + 2 / p) / 2
Les paramètres sont donc:
p : approximation initiale
q : valeur de sqrt(2)
Les itération sont "remplacées" par une récursion de b sur base de la
nouvelle approximation comme nouvelle valeur de départ (q)
L'arrêt est du à la précision finie du type double, qui finira par
rendre la différence entre la nouvelle approximation (r) et
l'approximation précédente (q) négligeable.
François
On Jan 30, 11:25 pm, "Jean-marc"
wrote:Hello,
Comme c'est calme, j'en profite pour
poser une petite colle:
' 8<-----------------------------------------
Option Explicit
Private Sub b(p As Double, q As Double)
Dim r As Double
r = (p + 2 / p) / 2
If q - r Then
q = r
b q, q
End If
End Sub
Private Sub Command1_Click()
Dim n As Double
b 1, n
' Que vaut n ? Pourquoi ?
End Sub
' 8<-----------------------------------------
Bonne nuit :-o))
Hello,
A tout hasard, sqrt(2) ?
Il s'agit, il me semble, d'une méthode itérative d'approximation de
type Newton (remplacement de la courbe par sa tangente) appliquée au
calcul de cette racine, dont le cas particulier du calcul de la racine
carrée est attribuée à Héron d'Alexandrie
L'expression générale est :
r = p - f(p) / f'(p)
où r est l'approximation suivante, et p la précédente
et où on cherche un zéro de f(p).
Dans ce cas précis on peut exprimer x^2 - 2 = 0, et donc f'(p)=2x, ce
qui montre l'équivalence avec :
r = (p + 2 / p) / 2
Les paramètres sont donc:
p : approximation initiale
q : valeur de sqrt(2)
Les itération sont "remplacées" par une récursion de b sur base de la
nouvelle approximation comme nouvelle valeur de départ (q)
L'arrêt est du à la précision finie du type double, qui finira par
rendre la différence entre la nouvelle approximation (r) et
l'approximation précédente (q) négligeable.
François
>"Patrice Henrio" wrote in message
>news:
Intéressant certe (là c'est le matheux qui parle) mais sur le plan
programmation, je regrette
1) n est implicitement valué à 0 dans la sub
2) les paramètres de b sont implicitement byRef
3) le prédicat q-r est implicitement transformé en booléen (0 -> faux,
<>0 -> vrai)
Enfin la réponse qui sera une valeur approchée de type double de la racine
carrée de 2 dépendra bien sûr du nombre de bits sur lesquels ces double
sont codés et de l'algorithme de représentation des décimaux en binaire.
Ainsi si les nombres sont représentés en précision infinie (par exemple
sous forme de chaînes numériques) la fonction boucle sans fin.
En effet la sortie nécessite
p=(p+2/p)/2 donc p²=2
La récursivité par contre est mon dada et c'est pour ça que LISP reste mon
langage préféré en théorie.
>"Patrice Henrio" <patrice.henrio@laposte.net> wrote in message
>news:uqgDy8AZIHA.5900@TK2MSFTNGP02.phx.gbl...
Intéressant certe (là c'est le matheux qui parle) mais sur le plan
programmation, je regrette
1) n est implicitement valué à 0 dans la sub
2) les paramètres de b sont implicitement byRef
3) le prédicat q-r est implicitement transformé en booléen (0 -> faux,
<>0 -> vrai)
Enfin la réponse qui sera une valeur approchée de type double de la racine
carrée de 2 dépendra bien sûr du nombre de bits sur lesquels ces double
sont codés et de l'algorithme de représentation des décimaux en binaire.
Ainsi si les nombres sont représentés en précision infinie (par exemple
sous forme de chaînes numériques) la fonction boucle sans fin.
En effet la sortie nécessite
p=(p+2/p)/2 donc p²=2
La récursivité par contre est mon dada et c'est pour ça que LISP reste mon
langage préféré en théorie.
>"Patrice Henrio" wrote in message
>news:
Intéressant certe (là c'est le matheux qui parle) mais sur le plan
programmation, je regrette
1) n est implicitement valué à 0 dans la sub
2) les paramètres de b sont implicitement byRef
3) le prédicat q-r est implicitement transformé en booléen (0 -> faux,
<>0 -> vrai)
Enfin la réponse qui sera une valeur approchée de type double de la racine
carrée de 2 dépendra bien sûr du nombre de bits sur lesquels ces double
sont codés et de l'algorithme de représentation des décimaux en binaire.
Ainsi si les nombres sont représentés en précision infinie (par exemple
sous forme de chaînes numériques) la fonction boucle sans fin.
En effet la sortie nécessite
p=(p+2/p)/2 donc p²=2
La récursivité par contre est mon dada et c'est pour ça que LISP reste mon
langage préféré en théorie.