La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

PROGRAMMATION SCIENTIFIQUE EN C PRO-1027. Résolution de système d’équations non- linéaires (racines d’équations) u Méthode de la bissection u Analyse.

Présentations similaires


Présentation au sujet: "PROGRAMMATION SCIENTIFIQUE EN C PRO-1027. Résolution de système d’équations non- linéaires (racines d’équations) u Méthode de la bissection u Analyse."— Transcription de la présentation:

1 PROGRAMMATION SCIENTIFIQUE EN C PRO-1027

2 Résolution de système d’équations non- linéaires (racines d’équations) u Méthode de la bissection u Analyse de la convergence de la méthode de bissection u Exemple de recherche –Recherche des zéros par la méthode de la bissection –Recherche de plusieurs zéros

3 Méthodes de la bissection u La méthode de la bissection permet la localisation d’une seule racine dans un intervalle donné u Conditions requises –La fonction f(x) est continue sur l’intervalle [a,b] –SI f(a)f(b) une racine dans l’intervalle u Pour une précision équivalente, cette méthode est généralement plus rapide (convergence)

4 Méthodes de la bissection u É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

5 Méthodes de la bissection

6 u 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

7 Méthodes de la bissection

8 Méthode de la bissection u Algorithme de la bissection BISSEC(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 delta ET |w| > eps FAIRE e = e/2 c = a+e w = f(c) imprimer nbiter, c, w, e

9 Méthode de la bissection u Algorithme de la bissection TANT QUE nbiter delta ET |w| > eps FAIRE e = e/2 c = a+e w = f(c) imprimer nbiter, c, w, e SI (u*w<0) ALORS b=c v=w SINON a=c u=w FIN SI nbiter++ FIN TANTQUE FIN SI

10 Méthode de la bissection u Cas ou les critères de convergence sont déficients Racines multiples ( échec sur le critère |f(c)| <  )

11 Méthode de la bissection u Cas ou les critères de convergence sont déficients Discontinuité ( échec sur le critère |b-a| <  )

12 Analyse de la convergence u Le critère de convergence peut être exprimé en valeur absolue par  a =  c k+1 - c k  k étant le nombre d’itérations u Il peut aussi être exprimé en pourcentage de l’erreur relative u La précision réelle de la solution est donnée

13 Analyse de la convergence u Exemple de convergence avec la fonction f(x) = 20 - x 2 = 0 u Avec comme solution c t = 4.4721359 sur l’intervalle [0,6]

14 Analyse de la convergence u Exemple de convergence

15 Exemple de recherche u Utilisation de la méthode de bissection

16 Exemple de recherche u Utilisation de la méthode de bissection

17 Exemple de recherche u 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 – Où x est un vecteur propre de A et une valeur propre de A

18 Exemple de recherche u Recherche de plusieurs zéros (exemple) –Si nous avons une matrice A de n x n nous pouvons écrire – 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

19 Exemple de recherche u Recherche de plusieurs zéros (exemple) –Si nous considérons un cas d’ordre 3, nous obtenons – Le déterminant donne

20 Exemple de recherche u 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

21 Exemple de recherche u 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é

22 Exemple de recherche u Recherche de plusieurs zéros (exemple) x1x1 x2x2 * * * * * * * * * * * * * * * * * * * * * * * *

23 Exemple de recherche u Système d’équations linéaires Ax = 0 : –Si nous avons une matrice variance-covariance A de 2X2

24 Exemple de recherche u Algorithme de résolution SVD: matrice A de NXN for(i=1;i<=N;i++) for(j=1;j<=N;j++) u[i][j] = a[i][j]; svdcmp(u,N,N,w,v); wmax = 0.0; for(j=1;j wmax) wmax = w[j]; wmin = wmax; // trouver la valeur propre min. dans w for(j=1;j<=N;j++) if((w[j] < wmin) && w[j] != 0.0) {wmin = w[j]; minPos = j;} for(j=1;j<=N;j++) x[j]=v[j][minPos]; // x contient un vecteur propre

25 Exemple de recherche u Localiser des extremums de fonctions (ex: histogramme) –Calcul de l’histogramme d’une image contenant deux objets principaux for(j=0;j<Hauteur;j++) for(i=0;i<Largeur;i++) h[I[j][i]]++; // comptage des pixels de chaque couleur –Localisation des extremums »Estimation de la dérivée première de la fonction h[] »Détection des passages par zéro associés aux extremums »Localiser les deux maximums associés à la moyenne de chaque distribution de couleur des deux objets »Localiser ensuite le minimum entre ces deux maximums –Segmenter l’image en deux régions distinctes en utilisant un seuil correspondant au minimum

26 Exemple de recherche u Localiser des extremums de fonctions (ex: histogramme) –Localisation des extremums »Estimation de la dérivée première de la fonction h[]: Pour estimer la dérivée première d’une fonction, il faut convoluer la fonction avec un opérateur de dérivée première. Opération de convolution entre une fonction h() et un opérateur

27 Exemple de recherche u Localiser des extremums de fonctions (ex: histogramme) –Localisation des extremums »Opérateur de dérivée première (forme mathématique) DF/ 2 = 4  DF = 8  +1 Où   [0.5..(N-1)/8] Où DF  [5,7,9..N]

28 Exemple de recherche u Localiser des extremums de fonctions (ex: histogramme) –Segmenter l’image en deux régions distinctes en utilisant un seuil correspondant au minimum »Après avoir détecté les deux maximums et le minimum entre ces deux maximums à partir de la fonction dérivée g(x) »Segmentation de l’image avec le seuil S correspondant au minimum entre les deux maximums détectés à l’étape précédente. for(j=0;j<Hauteur;j++) for(i=0;i<Largeur;i++){ if( I[j][i] > seuil) I[j][i] = 255; else I[j][i] = 0; }


Télécharger ppt "PROGRAMMATION SCIENTIFIQUE EN C PRO-1027. Résolution de système d’équations non- linéaires (racines d’équations) u Méthode de la bissection u Analyse."

Présentations similaires


Annonces Google