Beruflich Dokumente
Kultur Dokumente
Guillaume CONNAN
IREM de Nantes
11 janvier 2010
(IREM de Nantes) 1 / 85
Sommaire
6 Méthode de N EWTON
1 Les réels et le processeur Algorithme récursif
2 Tracé de représentations graphiques Algorithme impératif
Version récursive à pas constant 7 Méthode d’E ULER
Version récursive par sondage aléatoire Version récursive
3 Fonctions définies par morceaux Version impérative
4 Recherche de minimum 8 Intégration numérique
Version récursive Méthode des rectangles
Version impérative Version récursive
Avec affinage progressif du pas Version impérative
5 Dichotomie Méthode des trapèzes
Version récursive Version récursive
Version impérative Version impérative
(IREM de Nantes) 2 / 85
Les réels et le processeur
Sommaire
6 Méthode de N EWTON
1 Les réels et le processeur Algorithme récursif
2 Tracé de représentations graphiques Algorithme impératif
Version récursive à pas constant 7 Méthode d’E ULER
Version récursive par sondage aléatoire Version récursive
3 Fonctions définies par morceaux Version impérative
4 Recherche de minimum 8 Intégration numérique
Version récursive Méthode des rectangles
Version impérative Version récursive
Avec affinage progressif du pas Version impérative
5 Dichotomie Méthode des trapèzes
Version récursive Version récursive
Version impérative Version impérative
(IREM de Nantes) 3 / 85
Les réels et le processeur
Ayez toujours en tête qu’un ordinateur ne peut pas travailler avec des
réels !
Par essence, il a un nombre fini de bits sur lesquels il peut coder des
nombres...
(IREM de Nantes) 4 / 85
Les réels et le processeur
Ayez toujours en tête qu’un ordinateur ne peut pas travailler avec des
réels !
Par essence, il a un nombre fini de bits sur lesquels il peut coder des
nombres...
(IREM de Nantes) 4 / 85
Les réels et le processeur
Les nombres flottants qu’il manipule sont donc des classes qui
représentent chacune une infinité de réels (mais tout en constituant un
intervalle cohérent).
(IREM de Nantes) 5 / 85
Les réels et le processeur
(IREM de Nantes) 6 / 85
Les réels et le processeur
x:=10;
y:=5;
z:=5.00000001;
(IREM de Nantes) 7 / 85
Les réels et le processeur
Alors :
(x*y)+(x*z)
renvoie :
1.000000012e07
Mais
x*(y+z)
renvoie :
9.999999939e08
(IREM de Nantes) 8 / 85
Les réels et le processeur
Alors :
(x*y)+(x*z)
renvoie :
1.000000012e07
Mais
x*(y+z)
renvoie :
9.999999939e08
(IREM de Nantes) 8 / 85
Les réels et le processeur
# let x,y,z=10.,5.,5.00000001;;
val x : float = 10.
val y : float = 5.
val z : float = 5.00000001
# (x*.y)+.(x*.z);;
: float = 1.00000001168609742e07
# x*.(y+.z);;
: float = 9.99999993922529e08
(IREM de Nantes) 9 / 85
Les réels et le processeur
(IREM de Nantes) 10 / 85
Les réels et le processeur
(IREM de Nantes) 10 / 85
Les réels et le processeur
(IREM de Nantes) 11 / 85
Les réels et le processeur
# dernum(dernum(dernum(dernum(dernum(sin)))))(0.);;
: float = 1.33226762955018773e+25
(IREM de Nantes) 12 / 85
Les réels et le processeur
# dernum(dernum(dernum(dernum(dernum(sin)))))(0.);;
: float = 1.33226762955018773e+25
(IREM de Nantes) 12 / 85
Tracé de représentations graphiques
Sommaire
6 Méthode de N EWTON
1 Les réels et le processeur Algorithme récursif
2 Tracé de représentations graphiques Algorithme impératif
Version récursive à pas constant 7 Méthode d’E ULER
Version récursive par sondage aléatoire Version récursive
3 Fonctions définies par morceaux Version impérative
4 Recherche de minimum 8 Intégration numérique
Version récursive Méthode des rectangles
Version impérative Version récursive
Avec affinage progressif du pas Version impérative
5 Dichotomie Méthode des trapèzes
Version récursive Version récursive
Version impérative Version impérative
(IREM de Nantes) 13 / 85
Tracé de représentations graphiques Version récursive à pas constant
Sommaire
6 Méthode de N EWTON
1 Les réels et le processeur Algorithme récursif
2 Tracé de représentations graphiques Algorithme impératif
Version récursive à pas constant 7 Méthode d’E ULER
Version récursive par sondage aléatoire Version récursive
3 Fonctions définies par morceaux Version impérative
4 Recherche de minimum 8 Intégration numérique
Version récursive Méthode des rectangles
Version impérative Version récursive
Avec affinage progressif du pas Version impérative
5 Dichotomie Méthode des trapèzes
Version récursive Version récursive
Version impérative Version impérative
(IREM de Nantes) 14 / 85
Tracé de représentations graphiques Version récursive à pas constant
liste_points(f,a,b,h):={
if(a>b)then{[b,f(b)℄}
else{[a,f(a)℄,liste_points(f,a+h,b,h)}
}:;
(IREM de Nantes) 15 / 85
Tracé de représentations graphiques Version récursive à pas constant
liste_points(f,a,b,h):={
if(a>b)then{[b,f(b)℄}
else{[a,f(a)℄,liste_points(f,a+h,b,h)}
}:;
(IREM de Nantes) 15 / 85
Tracé de représentations graphiques Version récursive à pas constant
(IREM de Nantes) 16 / 85
Tracé de représentations graphiques Version récursive à pas constant
(IREM de Nantes) 16 / 85
Tracé de représentations graphiques Version récursive à pas constant
graph(x>x^2,2,2,0.75)
(IREM de Nantes) 17 / 85
Tracé de représentations graphiques Version récursive à pas constant
y 4
3.5
3
2.5
2
1.5
1
0.5
0
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 x
(IREM de Nantes) 18 / 85
Tracé de représentations graphiques Version récursive par sondage aléatoire
Sommaire
6 Méthode de N EWTON
1 Les réels et le processeur Algorithme récursif
2 Tracé de représentations graphiques Algorithme impératif
Version récursive à pas constant 7 Méthode d’E ULER
Version récursive par sondage aléatoire Version récursive
3 Fonctions définies par morceaux Version impérative
4 Recherche de minimum 8 Intégration numérique
Version récursive Méthode des rectangles
Version impérative Version récursive
Avec affinage progressif du pas Version impérative
5 Dichotomie Méthode des trapèzes
Version récursive Version récursive
Version impérative Version impérative
(IREM de Nantes) 19 / 85
Tracé de représentations graphiques Version récursive par sondage aléatoire
(IREM de Nantes) 20 / 85
Tracé de représentations graphiques Version récursive par sondage aléatoire
liste_points_hasard(f,a,a0,b,n):={
if(n==0)then{[b,f(b)℄}
else{[a0,f(a0)℄,liste_points_hasard(f,a,a+rand(0,1)*(ba),b
,n1)}
}:;
(IREM de Nantes) 21 / 85
Tracé de représentations graphiques Version récursive par sondage aléatoire
graph_hasard(f,a,b,n):={
polygonplot([liste_points_hasard(f,a,a,b,n)℄)
}:;
graph_hasard(x>sin(x),5,5,8)
(IREM de Nantes) 22 / 85
Tracé de représentations graphiques Version récursive par sondage aléatoire
0.5
0
x
-0.5
-4 -2 0 2 4
(IREM de Nantes) 23 / 85
Fonctions définies par morceaux
Sommaire
6 Méthode de N EWTON
1 Les réels et le processeur Algorithme récursif
2 Tracé de représentations graphiques Algorithme impératif
Version récursive à pas constant 7 Méthode d’E ULER
Version récursive par sondage aléatoire Version récursive
3 Fonctions définies par morceaux Version impérative
4 Recherche de minimum 8 Intégration numérique
Version récursive Méthode des rectangles
Version impérative Version récursive
Avec affinage progressif du pas Version impérative
5 Dichotomie Méthode des trapèzes
Version récursive Version récursive
Version impérative Version impérative
(IREM de Nantes) 24 / 85
Fonctions définies par morceaux
Comment faire dessiner une courbe en dents de scie, chaque dent ayant
une largeur de 2 et une hauteur de 1 ? Peut-on avoir une formule explicite
qui permette de calculer l’image de n’importe quel nombre ?
Les coefficients directeurs valent alternativement 1 et −1.
Les ordonnées s’annulent aux points d’abscisses paires...
(IREM de Nantes) 25 / 85
Fonctions définies par morceaux
Comment faire dessiner une courbe en dents de scie, chaque dent ayant
une largeur de 2 et une hauteur de 1 ? Peut-on avoir une formule explicite
qui permette de calculer l’image de n’importe quel nombre ?
Les coefficients directeurs valent alternativement 1 et −1.
Les ordonnées s’annulent aux points d’abscisses paires...
(IREM de Nantes) 25 / 85
Fonctions définies par morceaux
Comment faire dessiner une courbe en dents de scie, chaque dent ayant
une largeur de 2 et une hauteur de 1 ? Peut-on avoir une formule explicite
qui permette de calculer l’image de n’importe quel nombre ?
Les coefficients directeurs valent alternativement 1 et −1.
Les ordonnées s’annulent aux points d’abscisses paires...
(IREM de Nantes) 25 / 85
Fonctions définies par morceaux
s
ie_re
(n):={
if(n==0)then{[0,0℄}
else{[n,(1(1)^n)/2℄,s
ie_re
(n1)}
}:;
s
ie(n):={
polygonplot([s
ie_re
(n)℄)
}:;
(IREM de Nantes) 26 / 85
Fonctions définies par morceaux
s
ie_re
(n):={
if(n==0)then{[0,0℄}
else{[n,(1(1)^n)/2℄,s
ie_re
(n1)}
}:;
s
ie(n):={
polygonplot([s
ie_re
(n)℄)
}:;
(IREM de Nantes) 26 / 85
Fonctions définies par morceaux
y 1
0.8
0.6
0.4
0.2
x 0
0 1 2 3 4 5 6 7
(IREM de Nantes) 27 / 85
Fonctions définies par morceaux
Le tracé a été obtenu sans formule explicite pour chaque réel. Cherchons
une telle formulation :
f(x):={
if(irem(floor(x),2)==0)
then{xfloor(x)}
else{1x+floor(x)}
}:;
(IREM de Nantes) 28 / 85
Fonctions définies par morceaux
Le tracé a été obtenu sans formule explicite pour chaque réel. Cherchons
une telle formulation :
f(x):={
if(irem(floor(x),2)==0)
then{xfloor(x)}
else{1x+floor(x)}
}:;
(IREM de Nantes) 28 / 85
Fonctions définies par morceaux
Le tracé a été obtenu sans formule explicite pour chaque réel. Cherchons
une telle formulation :
f(x):={
if(irem(floor(x),2)==0)
then{xfloor(x)}
else{1x+floor(x)}
}:;
(IREM de Nantes) 28 / 85
Recherche de minimum
Sommaire
6 Méthode de N EWTON
1 Les réels et le processeur Algorithme récursif
2 Tracé de représentations graphiques Algorithme impératif
Version récursive à pas constant 7 Méthode d’E ULER
Version récursive par sondage aléatoire Version récursive
3 Fonctions définies par morceaux Version impérative
4 Recherche de minimum 8 Intégration numérique
Version récursive Méthode des rectangles
Version impérative Version récursive
Avec affinage progressif du pas Version impérative
5 Dichotomie Méthode des trapèzes
Version récursive Version récursive
Version impérative Version impérative
(IREM de Nantes) 29 / 85
Recherche de minimum
(IREM de Nantes) 30 / 85
Recherche de minimum Version récursive
Sommaire
6 Méthode de N EWTON
1 Les réels et le processeur Algorithme récursif
2 Tracé de représentations graphiques Algorithme impératif
Version récursive à pas constant 7 Méthode d’E ULER
Version récursive par sondage aléatoire Version récursive
3 Fonctions définies par morceaux Version impérative
4 Recherche de minimum 8 Intégration numérique
Version récursive Méthode des rectangles
Version impérative Version récursive
Avec affinage progressif du pas Version impérative
5 Dichotomie Méthode des trapèzes
Version récursive Version récursive
Version impérative Version impérative
(IREM de Nantes) 31 / 85
Recherche de minimum Version récursive
En CAML :
(IREM de Nantes) 32 / 85
Recherche de minimum Version récursive
En XCAS :
min_re
(f,xo,h):={
if(f(xo+h)>f(xo)){return(xo)}
else{min_re
(f,xo+h,h)}
}
(IREM de Nantes) 33 / 85
Recherche de minimum Version impérative
Sommaire
6 Méthode de N EWTON
1 Les réels et le processeur Algorithme récursif
2 Tracé de représentations graphiques Algorithme impératif
Version récursive à pas constant 7 Méthode d’E ULER
Version récursive par sondage aléatoire Version récursive
3 Fonctions définies par morceaux Version impérative
4 Recherche de minimum 8 Intégration numérique
Version récursive Méthode des rectangles
Version impérative Version récursive
Avec affinage progressif du pas Version impérative
5 Dichotomie Méthode des trapèzes
Version récursive Version récursive
Version impérative Version impérative
(IREM de Nantes) 34 / 85
Recherche de minimum Version impérative
(IREM de Nantes) 35 / 85
Recherche de minimum Version impérative
minimum(f,xo,p):={
lo
al X,Y,
ompteur;
Y:=f(xo);
X:=xo+10^(p);
ompteur:=0 / / on rajoute un compteur pour que la
compilation ne dure pas trop longtemps
tantque evalf(f(X))<Y et
ompteur<10^p faire
Y:=evalf(f(X));
X:=X+10^(p);
ompteur:=
ompteur+1;
ftantque:;
X10^(p);
}:;
(IREM de Nantes) 36 / 85
Recherche de minimum Version impérative
√ q
Par exemple, pour la fonction x 7→ + 25 + (x − 18)2 + 49, il
x2
semble que le minimum soit vers 7.
Demandons une approximation du minimum à 10−5 près :
minimum(x>sqrt((x)^2+25)+sqrt((x18)^2+49),7.0,5)
et on obtient 7.50000
(IREM de Nantes) 37 / 85
Recherche de minimum Version impérative
√ q
Par exemple, pour la fonction x 7→ + 25 + (x − 18)2 + 49, il
x2
semble que le minimum soit vers 7.
Demandons une approximation du minimum à 10−5 près :
minimum(x>sqrt((x)^2+25)+sqrt((x18)^2+49),7.0,5)
et on obtient 7.50000
(IREM de Nantes) 37 / 85
Recherche de minimum Version impérative
√ q
Par exemple, pour la fonction x 7→ + 25 + (x − 18)2 + 49, il
x2
semble que le minimum soit vers 7.
Demandons une approximation du minimum à 10−5 près :
minimum(x>sqrt((x)^2+25)+sqrt((x18)^2+49),7.0,5)
et on obtient 7.50000
(IREM de Nantes) 37 / 85
Recherche de minimum Avec affinage progressif du pas
Sommaire
6 Méthode de N EWTON
1 Les réels et le processeur Algorithme récursif
2 Tracé de représentations graphiques Algorithme impératif
Version récursive à pas constant 7 Méthode d’E ULER
Version récursive par sondage aléatoire Version récursive
3 Fonctions définies par morceaux Version impérative
4 Recherche de minimum 8 Intégration numérique
Version récursive Méthode des rectangles
Version impérative Version récursive
Avec affinage progressif du pas Version impérative
5 Dichotomie Méthode des trapèzes
Version récursive Version récursive
Version impérative Version impérative
(IREM de Nantes) 38 / 85
Recherche de minimum Avec affinage progressif du pas
(IREM de Nantes) 39 / 85
Recherche de minimum Avec affinage progressif du pas
Avec CAML :
# let re
min_bis(f,xo,h,p)=
if abs_float(h)<p then xo
else if f(xo+.h)>f(xo)
then min_bis(f,xo,.0.1*.h,p)
else min_bis(f,xo+.h,h,p);;
(IREM de Nantes) 40 / 85
Recherche de minimum Avec affinage progressif du pas
Avec XCAS :
min_bis(f,xo,h,p):={
if(abs(h)<p)then{xo}
else{if(f(xo+h)>f(xo))
then{min_bis(f,xo,0.1*h,p)}
else{min_bis(f,xo+h,h,p)}
}
}:;
(IREM de Nantes) 41 / 85
Dichotomie
Sommaire
6 Méthode de N EWTON
1 Les réels et le processeur Algorithme récursif
2 Tracé de représentations graphiques Algorithme impératif
Version récursive à pas constant 7 Méthode d’E ULER
Version récursive par sondage aléatoire Version récursive
3 Fonctions définies par morceaux Version impérative
4 Recherche de minimum 8 Intégration numérique
Version récursive Méthode des rectangles
Version impérative Version récursive
Avec affinage progressif du pas Version impérative
5 Dichotomie Méthode des trapèzes
Version récursive Version récursive
Version impérative Version impérative
(IREM de Nantes) 42 / 85
Dichotomie
(IREM de Nantes) 43 / 85
Dichotomie
(IREM de Nantes) 43 / 85
Dichotomie
(IREM de Nantes) 43 / 85
Dichotomie Version récursive
Sommaire
6 Méthode de N EWTON
1 Les réels et le processeur Algorithme récursif
2 Tracé de représentations graphiques Algorithme impératif
Version récursive à pas constant 7 Méthode d’E ULER
Version récursive par sondage aléatoire Version récursive
3 Fonctions définies par morceaux Version impérative
4 Recherche de minimum 8 Intégration numérique
Version récursive Méthode des rectangles
Version impérative Version récursive
Avec affinage progressif du pas Version impérative
5 Dichotomie Méthode des trapèzes
Version récursive Version récursive
Version impérative Version impérative
(IREM de Nantes) 44 / 85
Dichotomie Version récursive
En CAML :
ce qui donne :
(IREM de Nantes) 45 / 85
Dichotomie Version récursive
En CAML :
ce qui donne :
(IREM de Nantes) 45 / 85
Dichotomie Version récursive
En XCAS :
di
ho_re
(f,a,b,eps):={
if(evalf(ba)<eps){return(0.5*(b+a))};
if(f(a)*f(0.5*(b+a))>0){return(di
ho(f,0.5*(b+a),b,eps))}
else{return(di
ho(f,a,0.5*(b+a),eps))}
}:;
(IREM de Nantes) 46 / 85
Dichotomie Version impérative
Sommaire
6 Méthode de N EWTON
1 Les réels et le processeur Algorithme récursif
2 Tracé de représentations graphiques Algorithme impératif
Version récursive à pas constant 7 Méthode d’E ULER
Version récursive par sondage aléatoire Version récursive
3 Fonctions définies par morceaux Version impérative
4 Recherche de minimum 8 Intégration numérique
Version récursive Méthode des rectangles
Version impérative Version récursive
Avec affinage progressif du pas Version impérative
5 Dichotomie Méthode des trapèzes
Version récursive Version récursive
Version impérative Version impérative
(IREM de Nantes) 47 / 85
Dichotomie Version impérative
(IREM de Nantes) 48 / 85
Dichotomie Version impérative
(IREM de Nantes) 49 / 85
Dichotomie Version impérative
di
ho(F,p,a,b):={
lo
al aa,bb,k,f;
aa:=a;
bb:=b;
epsilon:=1e100; // on règle le " zéro " d e XCAS à u n e valeur
suffisamment petite
f:=unapply(F,x); / / o n t r a n s f o r m e l ’ e x p r e s s i o n f e n f o n c t i o n
k:=0; / / o n p l a c e u n c o m p t e u r
tantque evalf(bbaa,p)>10^(p) faire
si sign(evalf(f((bb+aa)/2),p))==sign(evalf(f(bb),p))
alors bb:=evalf((aa+bb)/2,p);
sinon aa:=evalf((aa+bb)/2,p);
k:=k+1; / / u n t o u r d e p l u s a u c o m p t e u r
fsi;
ftantque;
return evalf((bb+aa)/2,p)+" est la solution trouvée après "
+k+ " itérations";
}:;
(IREM de Nantes) 50 / 85
Méthode de N EWTON
Sommaire
6 Méthode de N EWTON
1 Les réels et le processeur Algorithme récursif
2 Tracé de représentations graphiques Algorithme impératif
Version récursive à pas constant 7 Méthode d’E ULER
Version récursive par sondage aléatoire Version récursive
3 Fonctions définies par morceaux Version impérative
4 Recherche de minimum 8 Intégration numérique
Version récursive Méthode des rectangles
Version impérative Version récursive
Avec affinage progressif du pas Version impérative
5 Dichotomie Méthode des trapèzes
Version récursive Version récursive
Version impérative Version impérative
(IREM de Nantes) 51 / 85
Méthode de N EWTON
Les prérequis sont plus nombreux ! Il faut avoir étudié les suites définies
par une relation du type un+1 = f (un ) et la dérivation... et ne pas être trop
perdu en Analyse...
Un exemple de TP possible en terminale S est présenté dans le poly.
(IREM de Nantes) 52 / 85
Méthode de N EWTON
Le zéro cherché
x0
x1
(IREM de Nantes) 53 / 85
Méthode de N EWTON Algorithme récursif
Sommaire
6 Méthode de N EWTON
1 Les réels et le processeur Algorithme récursif
2 Tracé de représentations graphiques Algorithme impératif
Version récursive à pas constant 7 Méthode d’E ULER
Version récursive par sondage aléatoire Version récursive
3 Fonctions définies par morceaux Version impérative
4 Recherche de minimum 8 Intégration numérique
Version récursive Méthode des rectangles
Version impérative Version récursive
Avec affinage progressif du pas Version impérative
5 Dichotomie Méthode des trapèzes
Version récursive Version récursive
Version impérative Version impérative
(IREM de Nantes) 54 / 85
Méthode de N EWTON Algorithme récursif
newton_re
(f,x0,eps):={
if(evalf(abs(f(x0)/fun
tion diff(f)(x0)))<eps){evalf(x0)}
else{newton_re
(f,evalf(x0f(x0)/fun
tion diff(f)(x0)),eps)
}
}:;
(IREM de Nantes) 55 / 85
Méthode de N EWTON Algorithme récursif
newton_re
(f,x0,eps):={
if(evalf(abs(f(x0)/fun
tion diff(f)(x0)))<eps){evalf(x0)}
else{newton_re
(f,evalf(x0f(x0)/fun
tion diff(f)(x0)),eps)
}
}:;
(IREM de Nantes) 55 / 85
Méthode de N EWTON Algorithme récursif
DIGITS:=100:;
newton_re
(x>x^22,1.0,evalf(10^(99)))
On obtient immédiatement :
1.41421356237309504880168872420969807856967187537694807317667973
(IREM de Nantes) 56 / 85
Méthode de N EWTON Algorithme récursif
DIGITS:=100:;
newton_re
(x>x^22,1.0,evalf(10^(99)))
On obtient immédiatement :
1.41421356237309504880168872420969807856967187537694807317667973
(IREM de Nantes) 56 / 85
Méthode de N EWTON Algorithme récursif
# let der(f,x,dx)=(f(x+.dx).f(x))/.dx;;
(IREM de Nantes) 57 / 85
Méthode de N EWTON Algorithme récursif
(IREM de Nantes) 58 / 85
Méthode de N EWTON Algorithme récursif
# let k(x)=x*.x.2.;;
# newton_re
(k,1.,0.0001,0.000000001);;
: float = 1.41421356245305962
(IREM de Nantes) 59 / 85
Méthode de N EWTON Algorithme impératif
Sommaire
6 Méthode de N EWTON
1 Les réels et le processeur Algorithme récursif
2 Tracé de représentations graphiques Algorithme impératif
Version récursive à pas constant 7 Méthode d’E ULER
Version récursive par sondage aléatoire Version récursive
3 Fonctions définies par morceaux Version impérative
4 Recherche de minimum 8 Intégration numérique
Version récursive Méthode des rectangles
Version impérative Version récursive
Avec affinage progressif du pas Version impérative
5 Dichotomie Méthode des trapèzes
Version récursive Version récursive
Version impérative Version impérative
(IREM de Nantes) 60 / 85
Méthode de N EWTON Algorithme impératif
(IREM de Nantes) 61 / 85
Méthode de N EWTON Algorithme impératif
(IREM de Nantes) 62 / 85
Méthode de N EWTON Algorithme impératif
(IREM de Nantes) 63 / 85
Méthode d’E ULER
Sommaire
6 Méthode de N EWTON
1 Les réels et le processeur Algorithme récursif
2 Tracé de représentations graphiques Algorithme impératif
Version récursive à pas constant 7 Méthode d’E ULER
Version récursive par sondage aléatoire Version récursive
3 Fonctions définies par morceaux Version impérative
4 Recherche de minimum 8 Intégration numérique
Version récursive Méthode des rectangles
Version impérative Version récursive
Avec affinage progressif du pas Version impérative
5 Dichotomie Méthode des trapèzes
Version récursive Version récursive
Version impérative Version impérative
(IREM de Nantes) 64 / 85
Méthode d’E ULER
(IREM de Nantes) 65 / 85
Méthode d’E ULER Version récursive
Sommaire
6 Méthode de N EWTON
1 Les réels et le processeur Algorithme récursif
2 Tracé de représentations graphiques Algorithme impératif
Version récursive à pas constant 7 Méthode d’E ULER
Version récursive par sondage aléatoire Version récursive
3 Fonctions définies par morceaux Version impérative
4 Recherche de minimum 8 Intégration numérique
Version récursive Méthode des rectangles
Version impérative Version récursive
Avec affinage progressif du pas Version impérative
5 Dichotomie Méthode des trapèzes
Version récursive Version récursive
Version impérative Version impérative
(IREM de Nantes) 66 / 85
Méthode d’E ULER Version récursive
Euler(u,x,xmax,y,h,liste):={
if(x>=xmax)
then{liste}
else{ Euler(u,x+h,xmax,y+u(y,x)*h,h,[op(liste),[x,y℄℄)}
}:;
(IREM de Nantes) 67 / 85
Méthode d’E ULER Version récursive
tra
e_euler(u,xo,xmax,yo,h):={
polygonplot([Euler(u,xo,xmax,yo,h,[℄)℄)
}:;
(IREM de Nantes) 68 / 85
Méthode d’E ULER Version récursive
tra e_euler((y,x)>y,2,2,1,0.01)
(IREM de Nantes) 69 / 85
Méthode d’E ULER Version récursive
y 1
0.8
0.6
0.4
0.2
0
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 x
(IREM de Nantes) 70 / 85
Méthode d’E ULER Version impérative
Sommaire
6 Méthode de N EWTON
1 Les réels et le processeur Algorithme récursif
2 Tracé de représentations graphiques Algorithme impératif
Version récursive à pas constant 7 Méthode d’E ULER
Version récursive par sondage aléatoire Version récursive
3 Fonctions définies par morceaux Version impérative
4 Recherche de minimum 8 Intégration numérique
Version récursive Méthode des rectangles
Version impérative Version récursive
Avec affinage progressif du pas Version impérative
5 Dichotomie Méthode des trapèzes
Version récursive Version récursive
Version impérative Version impérative
(IREM de Nantes) 71 / 85
Méthode d’E ULER Version impérative
(IREM de Nantes) 72 / 85
Méthode d’E ULER Version impérative
EulerImp(u,N,a,b,yo):={
S:=NULL;
X:=a;
Y:=yo;
h:=(ba)/N
pour k de 0 jusque N pas 1 faire
X:=a+k*h;
Y:=Y+u(Y,X)*h;
S:=S,[X,Y℄;
fpour
polygonplot([S℄);
}:;
(IREM de Nantes) 73 / 85
Intégration numérique
Sommaire
6 Méthode de N EWTON
1 Les réels et le processeur Algorithme récursif
2 Tracé de représentations graphiques Algorithme impératif
Version récursive à pas constant 7 Méthode d’E ULER
Version récursive par sondage aléatoire Version récursive
3 Fonctions définies par morceaux Version impérative
4 Recherche de minimum 8 Intégration numérique
Version récursive Méthode des rectangles
Version impérative Version récursive
Avec affinage progressif du pas Version impérative
5 Dichotomie Méthode des trapèzes
Version récursive Version récursive
Version impérative Version impérative
(IREM de Nantes) 74 / 85
Intégration numérique Méthode des rectangles
Sommaire
6 Méthode de N EWTON
1 Les réels et le processeur Algorithme récursif
2 Tracé de représentations graphiques Algorithme impératif
Version récursive à pas constant 7 Méthode d’E ULER
Version récursive par sondage aléatoire Version récursive
3 Fonctions définies par morceaux Version impérative
4 Recherche de minimum 8 Intégration numérique
Version récursive Méthode des rectangles
Version impérative Version récursive
Avec affinage progressif du pas Version impérative
5 Dichotomie Méthode des trapèzes
Version récursive Version récursive
Version impérative Version impérative
(IREM de Nantes) 75 / 85
Intégration numérique Méthode des rectangles
Sommaire
6 Méthode de N EWTON
1 Les réels et le processeur Algorithme récursif
2 Tracé de représentations graphiques Algorithme impératif
Version récursive à pas constant 7 Méthode d’E ULER
Version récursive par sondage aléatoire Version récursive
3 Fonctions définies par morceaux Version impérative
4 Recherche de minimum 8 Intégration numérique
Version récursive Méthode des rectangles
Version impérative Version récursive
Avec affinage progressif du pas Version impérative
5 Dichotomie Méthode des trapèzes
Version récursive Version récursive
Version impérative Version impérative
(IREM de Nantes) 76 / 85
Intégration numérique Méthode des rectangles
# let re
integ(f,a,b,dx)=
if a>b then 0.
else f(a)*.dx+.integ(f,a+.dx,b,dx);;
(IREM de Nantes) 77 / 85
Intégration numérique Méthode des rectangles
Par exemple :
# let g(x)=x;;
# integ(g,0.,1.,0.0001);;
donne :
: float = 0.500049999999960249
Z1
C’est-à-dire x d x ≈ 0.5
0
(IREM de Nantes) 78 / 85
Intégration numérique Méthode des rectangles
Par exemple :
# let g(x)=x;;
# integ(g,0.,1.,0.0001);;
donne :
: float = 0.500049999999960249
Z1
C’est-à-dire x d x ≈ 0.5
0
(IREM de Nantes) 78 / 85
Intégration numérique Méthode des rectangles
Par exemple :
# let g(x)=x;;
# integ(g,0.,1.,0.0001);;
donne :
: float = 0.500049999999960249
Z1
C’est-à-dire x d x ≈ 0.5
0
(IREM de Nantes) 78 / 85
Intégration numérique Méthode des rectangles
Sommaire
6 Méthode de N EWTON
1 Les réels et le processeur Algorithme récursif
2 Tracé de représentations graphiques Algorithme impératif
Version récursive à pas constant 7 Méthode d’E ULER
Version récursive par sondage aléatoire Version récursive
3 Fonctions définies par morceaux Version impérative
4 Recherche de minimum 8 Intégration numérique
Version récursive Méthode des rectangles
Version impérative Version récursive
Avec affinage progressif du pas Version impérative
5 Dichotomie Méthode des trapèzes
Version récursive Version récursive
Version impérative Version impérative
(IREM de Nantes) 79 / 85
Intégration numérique Méthode des rectangles
integ_re
tangle(f,a,b,dx):={
lo
al aa,I;
aa:=a;
I:=0;
while(aa<b){
I:=I+f(aa)*dx;
aa:=aa+dx;
}
return(I)
}:;
(IREM de Nantes) 80 / 85
Intégration numérique Méthode des trapèzes
Sommaire
6 Méthode de N EWTON
1 Les réels et le processeur Algorithme récursif
2 Tracé de représentations graphiques Algorithme impératif
Version récursive à pas constant 7 Méthode d’E ULER
Version récursive par sondage aléatoire Version récursive
3 Fonctions définies par morceaux Version impérative
4 Recherche de minimum 8 Intégration numérique
Version récursive Méthode des rectangles
Version impérative Version récursive
Avec affinage progressif du pas Version impérative
5 Dichotomie Méthode des trapèzes
Version récursive Version récursive
Version impérative Version impérative
(IREM de Nantes) 81 / 85
Intégration numérique Méthode des trapèzes
Sommaire
6 Méthode de N EWTON
1 Les réels et le processeur Algorithme récursif
2 Tracé de représentations graphiques Algorithme impératif
Version récursive à pas constant 7 Méthode d’E ULER
Version récursive par sondage aléatoire Version récursive
3 Fonctions définies par morceaux Version impérative
4 Recherche de minimum 8 Intégration numérique
Version récursive Méthode des rectangles
Version impérative Version récursive
Avec affinage progressif du pas Version impérative
5 Dichotomie Méthode des trapèzes
Version récursive Version récursive
Version impérative Version impérative
(IREM de Nantes) 82 / 85
Intégration numérique Méthode des trapèzes
# let re
integ_trap(f,a,b,dx)=
if a>b then 0.
else 0.5*.dx*.(f(a)+.f(a+.dx))+.integ_trap(f,a+.dx,b,
dx);;
# integ_trap(g,0.,1.,0.0001);;
: float = 0.500100004999960213
(IREM de Nantes) 83 / 85
Intégration numérique Méthode des trapèzes
# let re
integ_trap(f,a,b,dx)=
if a>b then 0.
else 0.5*.dx*.(f(a)+.f(a+.dx))+.integ_trap(f,a+.dx,b,
dx);;
# integ_trap(g,0.,1.,0.0001);;
: float = 0.500100004999960213
(IREM de Nantes) 83 / 85
Intégration numérique Méthode des trapèzes
Sommaire
6 Méthode de N EWTON
1 Les réels et le processeur Algorithme récursif
2 Tracé de représentations graphiques Algorithme impératif
Version récursive à pas constant 7 Méthode d’E ULER
Version récursive par sondage aléatoire Version récursive
3 Fonctions définies par morceaux Version impérative
4 Recherche de minimum 8 Intégration numérique
Version récursive Méthode des rectangles
Version impérative Version récursive
Avec affinage progressif du pas Version impérative
5 Dichotomie Méthode des trapèzes
Version récursive Version récursive
Version impérative Version impérative
(IREM de Nantes) 84 / 85
Intégration numérique Méthode des trapèzes
integ_trap(f,a,b,dx):={
lo
al aa,I;
aa:=a;
I:=0;
while(aa<b){
I:=I+(f(aa)+f(aa+dx))*dx*0.5;
aa:=aa+dx;
}
return(I)
}:;
(IREM de Nantes) 85 / 85