Escolar Documentos
Profissional Documentos
Cultura Documentos
3
3
3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
x = 1 ,
1
residu =
63.5
144
82.5
8
35
27
63.5
144
82.5
8
35
27
1
2
1
2
2
x = 1 ,
1
residu =
J(x) = 3.3592 10 ,
On peut reformuler ce problme de calcul de distance en un problme doptimisation linaire sous contraintes
pour se ramener une rsolution avec multiplicateurs de Lagrange. On cherche en fait minimiser
J : x 7 kCx yk
avec C = In et dans lensemble des contraintes :
Aeq
K = {x R4 | Aeq x = beq }
0
0 1
1
1
=
, beq =
1 1
1 1
10
Finalement, on obtient par les deux mthodes la valeur de la distance suivante (il suffit de prendre la racine
de la valeur obtenue par la rsolution Matlab) :
= 5.0498
On veut que P soit la meilleur approximation des points xi , i J1, 5K au sens des moindres carrs, cest--dire
tel que la somme :
S=
5
X
|P (xi ) yi |2
i=1
soit minimale sous des contraintes dterminer. On peut rcrire cette somme sous la forme :
2
C=
x31
x32
x33
x34
x35
S = kCx yk
x21 x1 1
y1
y2
x22 x2 1
x23 x3 1
, y=
y3
y4
x24 x4 1
2
y5
x5 x5 1
Aeq =
{v R4 | Aeq x = beq }
27 9 3 1
5
, beq =
27 9
3 11
2
Finalement, la rsolution Matlab nous permet dobtenir les valeurs de (a, b, c, d) qui identifient compltement
notre polynme. On trace sur un mme graphe les points (xi ), i J1, 7K et le polynme trouv.
4
4.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
Fonction lsqlineq.m
4.2
1
Script TP8.m
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
case 2,
[x,resnorm,residu,exit,output, lambda] = lsqlin(C,d,[],[],Aeq,beq,[],[]);
Jval = J(x,C,d);
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
end
switch choixpb
case 2,
dist = sqrt(Jval);
disp('distance entre 0 et F = '); disp(dist);
case 3,
clf; hold on;
% trac des points d'interpolation
plot([-3 3], [5,2], '+');
% trac des points d'approximation
plot([-2, -1, 0, 1, 2],[6,4,5,3,1],'+');
% A COMPLETER
% graphe du polynme
fun = @(t) x(1)*t^3 + x(2)*t^2 + x(3)*t + x(4);
fplot(fun,[-3,3]);
end
if exit == 1 && choixpb == 1
disp('La rsolution a t possible et a donn le rsultat :');
x
residu
if choixmeth == 1
lambda
else
lambda = lambda.eqlin
end
Jval
elseif exit == 0 && choixpb == 1
disp('Rsolution du systme impossible !');
end