Approximation 3SI
Cours
Approximation & optimisation
I-Recherche du point fixe d’une fonction
Activité : Ecrire une fonction qui retourne une solution de l’équation sin(x)= x a 10-5 près.
Constatation :
x 0.01 0.02 0.03 0.011 0.012 0.013 0.014
Sin(x) 0.0099998 0.0199987 0,0299955 0.1097783 0.1197122 0.1296341 0.1395431
Certaines fonctions mathématiques n’ont pas des solutions exactes pour des valeurs précises, tel
que la fonctions racine, Log, exponentiel…
Pour trouver une solution approcher avec un algorithme d’approximation on procède comme
suit :
Principe Forme générale de l’algorithme
Varier X avec un pas très petit S_actuelle ← initialisation
(epsilon) Répéter
Calculer F(x) S_precedente ← S_actuelle
Répéter la variation et le calcul S_actuelle ← F(S_precedente)
jusqu’à une valeur absolue de la Jusqu’a abs (S_actuelle -
différence entre les deux derniers S_precedente)≤epsilon
solutions inferieur ou égale a epsilon Retourner S_actuelle
Solution:
En Algorithme En Python
Function calcul(): reel from math import sin
Debut def calcul():
Xa ← 0.5 Xp=0.5
Repeter Xa=sin(Xp)
Xp ← Xa while abs(Xa-Xp)>0.00001:
Xa ← sin(Xp) Xp=Xa
Jusqu’à abs(Xa-Xp)≤0.00001 Xa=sin(Xp)
Retourner Xa return Xa
print(round(calcul(),4))
II- Approximation de valeurs approchées de constantes connues :
1-Approximation de π
Activité 1 : Formule de l’Euler π^2/6=1+1/2^2 +1/3^2 +1/4^2 +⋯+1/n^2
Ecrire une fonction qui retourne une valeur approchée de π en utilisant la formule d’Euler
Elghrissi Chamseddine 1
Approximation 3SI
Solution:
En Algorithme En Python
Function pi(epsilon:reel): reel from math import sqrt
Debut def pi(epsilon):
Sa ← 1 Sp,n=1,2
n←1 Sa=Sp+1/(n*n)
Repeter while abs(Sa-Sp) > epsilon:
Sp ← Sa Sp=Sa
n←n+1 n=n+1
Sa← Sp + 1/(n*n) Sa=Sp+1/(n*n)
Jusqu’à abs(Sa-Sp)<epsilon return sqrt(Sa*6)
Retourner Racine_carre(6*Sa) print("pi=%.3f"%pi(0.0000001))
Activité 2 :
Ecrire un algorithme du module qui permet de déterminer une valeur
approchée de πà Epsilon près en utilisant la formule de Wallis donnée ci-
dessous.
Le calcul s’arrête lorsque la différence en valeur absolue de deux éléments
𝝅 /2 = [(2/1)*(2/3)]* [(4/3)*(4/5)]* [(6/5)*(6/7)]* [(8/7)*(8/9)]*…………..
successifs sera ≤Eps
Elghrissi Chamseddine 2
Approximation 3SI
2- Approximation de e (nombre de Neper = 2,718……) :
Activité :
e=1+1/1 !+ 1/2!+ 1/3 !+ 1/4 !+……………………………….+ 1/n !
Écrire une fonction qui retourne une valeur approchée de e a 10-3 près.
NB : ex= 1+x/1 ! + x/2!+ x/3 !+ x/4 !+……………………………….+ x/n !
En Algorithme En Python
Fonction e() :reel Def e () :
Debut Sp,n = 1,1
Sa←1 Sa=Sp+1/(n*n)
n←0 While abs(Sa-Sp)<=0.001
repeter Sp=Sa
Sp←Sa n=n+1
n←n+1 Sa=Sp+1/fact(n)
Sa←Sp+1/fact(n) Return Sa
Jusqu’à abs(Sa-Sp)≤0.001 Def fact(n):
Retourner Sa If n<2 :
Fin Return 1
Else:
Fonction fact(n :entier) :entier Return n*fact(n-1)
Debut
Si n<2 alors Print(e())
Retourner n
Si non
Retourner n*fact(n-1)
Fin si
Fin
III-Calcul d’aires:
Activite:
Soit la fonction f(x)=1/(1+x2)
Ecrire un programme qui permet de calculer l’aire résultante de la courbe de f sur l’intervalle [a, b]
1- Méthode de trapèze :
Principe :
Diviser l’intervalle a, b en n intervalle
b
Pour chaque intervalle essayer de rapprocher f (x)=∫ f (x )dx
a
Méthode :
Sur chaque intervalle [ai , ai+1]est représenté un rectangle de largeur ai+1 – ai et de hauteur :
Elghrissi Chamseddine 3
Approximation 3SI
La méthode des rectangles consiste a représenter l’aire sous la courbe par la somme des aires des
rectangles obtenus.
Elghrissi Chamseddine 4
Approximation 3SI
Elghrissi Chamseddine 5
Approximation 3SI
Elghrissi Chamseddine 6