TP3 :Résolution des systèmes d’équations linéaires
Elaboré par : Mzoughi Haythem
Jandoubi Wissal
Classe : L1-GC1
1. Résolution d’un système dont la matrice est inversible :
>> A=[2 3;1 -2];
>> B=[8;-3];
>> X=inv(A)*B
X=
2. Résolution d’un système dont la matrice n’est pas inversible :
>> A=[2 1 -3;1 -2 1];
>> B=[1;2];
>> Rang_A=Rank(A)
Rang_A =
>> AB=[A B]
AB =
2 1 -3 1
1 -2 1 2
>> Rang_AB=Rank(AB)
Rang_AB =
2
>> X=A\B
X=
-1.4000
-0.8000
>> X=pinv(A)*B
X=
0.7333
-0.6667
-0.0667
3. Systèmes paramétrés :
>> syms m
>> A=[1 m 1;m 1 m-1;1 1 1]
A=
[ 1, m, 1]
[ m, 1, m-1]
[ 1, 1, 1]
>> det(A)
ans =
1-m
>> B=[1;m;m+1];
>> X=inv(A)*B;
>> simplify(X)
ans =
[ -(1-2*m-m^2+m^3)/(m-1)]
[ -m/(m-1)]
[ m+m^2]
>> pretty(ans)
[ 2 3]
[ 1-2m-m +m]
[- ]
[ m-1 ]
[ ]
[ m ]
[ - ----- ]
[ m-1 ]
[ ]
[ 2 ]
[ m+m ]
4. Travail à faire :
a)
>> A=[2 -1 4; 3 2 -3; 5 -3 8];
>> B=[-4;17;-10];
>> det(A)
ans =
-23
>> X= inv(A)*B
X=
2.0000
4.0000
-1.0000
b)
>> A=[1 1 1 2; 2 1 2 3; 1 2 3 4; 2 2 4 5];
>> B=[1;2;4;6];
>> det(A)
ans =
0
>> rang_A=ranK(A)
rang_A =
>> AB=[A B]
AB =
1 1 1 2 1
2 1 2 3 2
1 2 3 4 4
2 2 4 5 6
>> rang_AB=ranK(AB)
rang_AB =
>> X=A\B
Warning: Matrix is close to singular or badly scaled.
Results may be inaccurate. RCOND = 3.965082e-018.
X=
1.0e+015 *
-3.0024
-6.0048
-3.0024
6.0048
>> X=pinv(A)*B
X=
-0.6250
-0.7500
2.1250
c)
>> A=[1 1 1 1;1 2 2 2;1 2 3 4];
>> B=[1;3;4];
>> rang_A=ranK(A)
rang_A =
>> AB=[A B]
AB =
1 1 1 1 1
1 2 2 2 3
1 2 3 4 4
>> rang_AB=rank(AB)
rang_AB =
>> X=A\B
X=
-1.0000
1.5000
0.5000
>> X=pinv(A)*B
X=
-1.0000
1.1667
0.6667
0.1667
d)
>> A=[3 -5 2 4;7 -4 1 3;5 7 -4 -6];
>> B=[2;5;3];
>> rang_A=ranK(A)
rang_A =
>> AB=[A B]
AB =
3 -5 2 4 2
7 -4 1 3 5
5 7 -4 -6 3
>> Rang_AB=rank(AB)
Rang_AB =
>> X=A\B
Warning: Rank deficient, rank = 2 tol = 8.4260e-015.
X=
0.6708
-0.0404
>> X=pinv(A)*B
X=
0.6637
-0.0553
-0.0601
0.0168
e)
>> M=[1 -1 1; 1 2 -2; -1 1 1; 1 -1 3]
M=
1 -1 1
1 2 -2
-1 1 1
1 -1 3
>> O=[1;5;-2;m]
O=
[ 1]
[ 5]
[ -2]
[ m]
>> X=pinv(M)*O
X=
[ 7/3+2/9*m]
[ 5/6+5/36*m]
[ -36028797018963965/72057594037927936+1/4*m]
>> simplify(X)
ans =
[ 7/3+2/9*m]
[ 5/6+5/36*m]
[ -36028797018963965/72057594037927936+1/4*m]
>> pretty(ans)
[ 7/3 + 2/9 m ]
[ ]
[ 5/6 + 5/36 m ]
[ ]
[ 36028797018963965 ]
[------------------ + 1/4 m]
[ 72057594037927936 ]