Académique Documents
Professionnel Documents
Culture Documents
2013-2014
composition QR et
TP2 : La de
es
emes de moindres carr
les probl`
Vous etes invites `a creer dans un repertoire .../TPM65/QRetMC/ le fichier scriptTP2.sce
pour les exercices ci-dessous (comportant les lignes de code correspondant a` la resolution
de lexercice) et le fichier fonctionsTP2.sci pour les algorithmes dont on a besoin (comportant les fonctions).
En cas de blocage, commencez toujours par regarder laide !!
10 1
4
A1
A1 = 2
5 2 et A2 = 0
4 3 .
5
1
7
6 3 9
Calculer k Qj Rj Aj k2 et k QH
u I3 est la matrice
j Qj I3 k2 pour j = 1, 2, o`
identite de taille 3.
des points equi-distants
1.3. Pour n = 2, . . . , 10 et j = 1, . . . , n, soient xnj = 1 + 2(j1)
n1
dans lintervalle [1, 1], et Vn Mn (R) la matrice de Vandermonde definie par
n1
1 x1n1 . . . xn1
n1
1 x1n2 . . . xn2
.
Vn = .
.
.
.
.
.
.
.
.
n1
1 x1nn . . . xnn
modifie (voir point 3.2.2 du cours). On utilisera la vectorisation pour calculer les
vecteurs lignes R(k, k + 1 : n), k = 1, . . . , n 1.
1.5. Tester la fonction GSmod pour les matrices de question 1.2. et 1.3. Comparer les
resultats obtenus avec celles obtenus par la fonction GS et par la commande qr
et R
obtenues par la
de Scilab. Remarque : La comparisation avec les matrices Q
commande qr de Scilab se fait par le lien :
: m, 1 : n)
Q = Q(1
: n, 1 : n).
et R = R(1
2. Householder
2.1. Soit donne un vecteur v Rk o`
u k > 1. Tester la commande householder de
Scilab pour calculer le vecteur unitaire u Rk tel que
(k)
(Ik 2uuT )v =k v k2 e1 ,
(1)
(k)
o`
u e1 = (1, 0, . . . , 0)T Rk . Calculer u pour le vecteur v = (1, 1, 1, 1)T et verifier
legalite en (1).
2.2. Programmer une fonction [Q,R]=HH(A) qui rend les matrices Q et R dans la decomposition
QR de la matrice A Mmn (R) par la methode de Householder (voir point 3.3.5 du
cours).
2.3. Tester la fonction HH pour les matrices de question 1.2. et 1.3. Comparer les resultats
obtenus avec celles obtenus par la commande qr de Scilab.
3. Les probl`
emes de moindres carr
es
3
Soit donne un nuage de points {(xk , yk , zk )}m
k=1 R . Nous souhaitons trouver un plan
sous la forme z = h(x, y) = n0 + n1 x + n2 y de sorte que pour les points de notre nuage, la
P
2
distance m
k=1 |zk h(xk , yk )| soit minimum.
3.1. Verifier quil sagit dun probl`eme aux moindres carres cest-`a-dire, exprimer A, b
et x en fonction des donnes et des inconnus.
3.2. Programmer une fonction [x]=MC(A,b) qui, `a laide dune decomposition QR par
la methode de Householder, rend la solution x du probl`eme
min{k b Ax k : x Rn }
(voir point 3.1.6 du cours). On utilisera lalgorithme de remontee du TP1 pour
resoudre le syst`eme dequations
Rx = QT b.
3.3. Etant
donnes le nuage de points {(2, 2, 1), (3, 3, 2), (1, 4, 3), (5, 6, 4), (0, 3, 5)}, appliquer la fonction MC pour calculer la solution de Ax = b au sens des moindres
carres. Comparer le resultat obtenu avec celle obtenu par la commande pinv(A)*b
de Scilab.
3.4. Tracer le plan z = h(x, y) sur [0, 6] [0, 6] et les segments de projection
[(xk , yk , zk ), (xk , yk , h(xk , yk ))],
k = 1, . . . , m.