%Le script aide_TP2 permet de se familiariser avec
%les commandes simples de Matlab concernant les matrices.
help aide_TP2, format short, format compact, echo on
pause

disp(' '), disp(' '), disp('Matrice adjointe, produit :'), disp(' ')
clear i, u=[0 i 2]     %variante : "u=[0,i,2]"
u', u.'                %matrice adjointe et transposée
3*u, u/2, u'*u, u*u'
pause

disp(' '), disp(' '), disp('Id, diagonale, zeros et uns :'), disp(' ')
A=[1 2; 3 4]           %variante : 1ère ligne avec "A=[1 2" et 2ème avec "3 4]"
eye(size(A)), eye(2,3) %la matrice identité "I" se lit, comme "eye" en anglais
diag(A), diag([1 4])   %extraction de diagonale et construction de matrice diagonale
zeros(2,3), ones(3,2)
pause

disp(' '), disp(' '), disp('Taille, norme, parties réelle et imaginaire :'), disp(' ')
u=[0 i 2], size(u,1), size(u,2), length(u) %"1"="ligne", "2"="colonne"
norm(u,1), norm(u,2), norm(u,'inf'), norm(u)
A=[1 2; 3 4], size(A), size(A,1), size(A,2)
norm(A,1), norm(A,2), norm(A,'inf'), norm(A,'fro')
z=1+2*i
norm(z), abs(z), real(z), imag(z), conj(z)
pause

disp(' '), disp(' '), disp('Déterminant, valeurs propres :'), disp(' ')
A=[1 2; 3 4], det(A)
norm(A,2), sqrt(max(eig(A'*A)))
norm(A,2)==sqrt(max(eig(A'*A))) %il ne faut pas croire le résultat de ce test
p=poly([1,1]), C=compan(p)      %une matrice de pol. car. proportionnel à p
eig(C), poly(C)                 %valeurs propres et polynôme caractéristique

disp(' '), disp(' '), disp('Matrice par blocs :'), disp(' ')
A=[1 2; 3 4]
[A,[7 8]'], [A;[7 8]]   %variantes: "[A [7 8]']" et "[A;7 8]"
pause

disp(' '), disp(' '), disp('Puissance :'), disp(' ')
A=[1 2; 3 4]
inv(A), eye(size(A))/A  %cf. "help slash"
B=A^2
B^0.5, ans^2            %une racine carrée de B autre que A
pause

disp(' '), disp(' '), disp('Opérations terme à terme :'), disp(' ')
A=[1 2; 3 4]
A+1
A.^2
sqrt(A)        %matrice A.^0.5 des racines carrées des coefficients
exp(A)         %par contre, l'exponentielle de la matrice A est "expm(A)"
A.*A
A./A
1 ./A          %à ne pas confondre avec l'inverse de A
pause

disp(' '), disp(' '), disp('Extraction de sous-matrices :'), disp(' ')
A=[1 2; 3 4]
A(1,2), A(1,1), A(1,[2,1])  %des coefficients de A
A(1,:), A(:), A(:,[2,1])    %":" donne tous les éléments
A(1,end), A(:,end-1)        %"end" donne le dernier élément
pause

disp(' '), disp(' '), disp('Matrices creuses :'), disp(' ')
S=sparse([1 2 3],[ 2 4 1],[1,2,3]) %indices i, indices j, puis valeurs
T=full(S), sparse(T)
U=T(1:2,2:4)
D1=diag(ones(2,1),-1), D2=diag(ones(2,1),1)

clear all
echo off