Vous êtes sur la page 1sur 2

Université de Sherbrooke

Faculté des sciences, Département de mathématiques


MAT 102 : Algèbre linéaire et calcul
Hiver 2010
Virginie Charette

Laboratoire MATLAB: Méthode Newton-Raphson pour un système


d’équations non linéaires.

Objectifs de ce laboratoire:
• Utiliser MATLAB afin d’appliquer la méthode de Newton-Raphson sur un système
de deux équations non linéaires à deux inconnues.
• Appliquer la méthode de Newton-Raphson dans MATLAB pour trouver le point
critique d’une fonction à deux variables.
• Utiliser MATLAB pour visualiser un minimum local.

1. MATLAB et la méthode Newton-Raphson. Pour nous réchauffer, considérons le


système suivant:

x2 + y 2 = 4
x2 − y 2 = 1
Ce système a quatre solutions. (Vous pouvez les trouver algébriquement!)
Pour appliquer la méthode de Newton-Raphson sur le système, nous pouvons utiliser un
script comme le suivant:
function v=nrlab(w)

x=w(1);
y=w(2);

F=[x^2+y^2-4;x^2-y^2-1];

J=[2*x 2*y;2*x -2*y];

v=[x;y]-inv(J)*F;

Exercice 1. Utiliser le script “nrlab.m” afin de trouver les zéros du système plus haut.

2. Trouver les points critiques à l’aide de la méthode Newton-Raphson.


Étant donnée une fonction F (x, y) = [F1 (x, y), F2 (x, y)], on peut utiliser la méthode de
Newton-Raphson pour résoudre F (x, y) = [0, 0]. Or c’est précisément ce qu’on cherche à
faire pour les points critiques d’une fonction f (x, y): l’équation ∇f (x, y) = [0, 0] est en effet
un système de deux équations à deux inconnues.
Notez que dans le cas d’une recherche de points critiques, la matrice jacobienne J∇f du
gradient est tout simplement la matrice hessienne Hf de la fonction f .

1
Nous allons appliquer la méthode de Newton-Raphson pour trouver le point critique de la
fonction suivante:
f (x, y) = x4 + xy + (1 + y)2

Exercice 2. Adapter le script MATLAB utilisé dans l’Exercice 1 afin de trouver le point critique
de f (x, y).

Exercice 3. Appliquez le critère de la matrice hessienne sur le point critique afin de confirmer qu’il
s’agit d’un point de minimum local.

3. Visualisation
On peut confirmer visuellement que le point critique trouvé plus haut est (plausiblement!)
unique:
>>[x y]=meshgrid(-3:.1:3);
>> z=x.^4+x.*y+(1+y).^2;
>> surf(x,y,z)