PROGRAMMATION SCIENTIFIQUE EN C PRO-1027. Résolution de système déquations non- linéaires...
-
Upload
louise-bourdon -
Category
Documents
-
view
111 -
download
0
Transcript of PROGRAMMATION SCIENTIFIQUE EN C PRO-1027. Résolution de système déquations non- linéaires...
PROGRAMMATION SCIENTIFIQUE EN C
PRO-1027
Résolution de système d’équations non-linéaires (racines d’équations)
Méthode de la bissection Analyse de la convergence de la méthode de
bissection Travail pratique 2 a
– Recherche des zéros par la méthode de la bissection
– Recherche de plusieurs zéros
Méthodes de la bissection
La méthode de la bissection permet la localisation d’une seule racine dans un intervalle donné
Conditions requises– La fonction f(x) est continue sur l’intervalle [a,b]
– SI f(a)f(b) < 0 => une racine dans l’intervalle Pour une précision équivalente, cette méthode est
généralement plus rapide (convergence)
Méthodes de la bissection
Étapes de la méthodes de bissection– Pour un intervalle [a,b], calculer la position du cen-
tre de l’intervalle par: c = 1/2(a+b) = a+(b-a)/2
– Calculer f(a), f(b) et f(c)
– Calculer f(a)f(c) et f(c)f(b)
– Vérifier la convergence» Si les critères de convergence sont satisfaits, afficher la
valeur de la racine
» Sinon modifier les extrémités de l’intervalle, répéter les étapes précédentes
Méthodes de la bissection
Méthodes de la bissection
La méthode de la bissection converge si une racine se trouve dans un intervalle donné et trouve une seule racine si le nombre de racines dans un inter-valle est impair
Méthodes de la bissection
Méthode de la bissection
Algorithme de la bissectionBISSEC(float a, float b, int nbiterMAX, float delta, float eps)
u = f(a)
v = f(b)
e = b-a
imprimer a,b,u,v
SI u*v > 0 ALORS
imprimer un message indiquant l’absence d’une racine
SINON
nbiter = 0
w = MAXFLOAT
TANT QUE nbiter<nbiterMAX ET |e| > delta ET |w| > eps FAIRE
e = e/2
c = a+e
w = f(c)
imprimer nbiter, c, w, e
Méthode de la bissection
Algorithme de la bissectionTANT QUE nbiter<nbiterMAX ET |e| > delta ET |w| > eps FAIRE
e = e/2
c = a+e
w = f(c)
imprimer nbiter, c, w, e
SI (u*w<0) FAIRE
b=c
v=w
SINON
a=c
u=w
FIN SI
nbiter++
FIN TANTQUE
FIN SI
Méthode de la bissection
Cas ou les critères de convergence sont déficients
Racines multiples (échec du critère |b-a| < )
Méthode de la bissection
Cas ou les critères de convergence sont déficients
Discontinuité (échec du critère |f(c)| < )
Analyse de la convergence
Le critère de convergence peut être exprimé en valeur absolue par a = ck+1 - ck k étant le nombre d’itérations
Il peut aussi être exprimé en pourcentage de l’erreur relative
1001
1
k
kkr c
cc
La précision réelle de la solution est donnée
100
t
ktt c
cc
Analyse de la convergence
Exemple de convergence avec la fonction
f(x) = 20 - x2 = 0 Avec comme solution ct = 4.4721359 sur l’intervalle
[0,6]
Analyse de la convergence
Exemple de convergence
Travail pratique 2 a
Utilisation de la méthode de bissection
Travail pratique 2 a
Utilisation de la méthode de bissection
0sin
cos
)(sin
)cos(
sin)sin()(
sin
sin
21
22
1221
12
21
C
Cw
CA
CAw
dC
dl
C
w
CA
wllCl
CABC
wl
B
wl
Travail pratique 2 a
Recherche de plusieurs zéros (exemple)– Cherchons les valeurs et les vecteurs propres associés
à une matrice A (ex: matrice de coefficients de corré-lation ou matrice variance-covariance)
– Si nous avons une matrice A de n x n nous pouvons écrire
xAx – Où x est un vecteur propre de A et une valeur propre de A
Travail pratique 2 a
Recherche de plusieurs zéros (exemple)– Si nous avons une matrice A de n x n nous pouvons
écrire
0)(
xIA
IxAx
xAx
– Pour que soit une valeur propre il faut que la solution de la dernière équation soit non nulle. Pour que x soit non nulle il faut que
0 IA
Travail pratique 2 a
Recherche de plusieurs zéros (exemple)– Si nous considérons un cas d’ordre 3, nous obtenons
0
333231
232221
131211
aaa
aaa
aaa
IA
– Le déterminant donne
0
0)(
)(
))((
012
23
3122322113
3123332112
3223332211
bbb
aaaaa
aaaaa
aaaaa
Travail pratique 2 a
Recherche de plusieurs zéros (exemple)– Lorsque nous avons les valeurs propres, nous les
substituons une à une dans
(A-I) x = 0
pour trouver les vecteurs propres x
Travail pratique 2 a
Recherche de plusieurs zéros (exemple)– Les vecteurs propres désignent chacun des axes
orthogonaux de variance maximale des données
– De plus, les valeurs propres donnent une mesure de la variabilité des données selon chaque axe
– Les vecteurs propres nous permettent alors par une transformation linéaire de passer d’un domaine où les données sont corrélées à un autre non corrélé
Travail pratique 2 a
Recherche de plusieurs zéros (exemple)
x1
x2
**
**
**
**
***
**
*
*
**
*
*
*
*
**
*