In questa lezione impareremo a risolvere un sistema di equazioni lineari con matlab.
Supponiamo di integrare un sistema di N×N equazione e cioè un sistema di N equazione in N incognite, ed indichiamo con A la matrice dei coefficienti delle incognite e con B in vettore contenente i termini noti; ad esempio se il sistema è il seguente: 2x+3y=11 x +5y=16 allora sarà: A=[2 3;1 5]; B=[11 16]; Il sistema precedente in notazione matriciale viene indicato come: A * X = B dove X rappresenta il vettore soluzione. La soluzione del sistema precedente è data da: X = inv(A)*B; L'm-file che effettua tale operazione è riportato di seguito: %----------------------------------------------------------- %Soluzione di un sistema lineare a Cura di Giuseppe Ciaburro %-----------------------------------------------------------
%Sia A la matrice dei coefficienti delle incognite e
%B il vettore termine noti
%Bisogna prima immettere nel promt di matlab A e B %Valutiamo l'inversa di A
C=inv(A); %Determiniamo la trasposta
C=C'; %Calcoliamo il vettore soluzione
X=B*C;
disp('Il vettore delle soluzioni è')
X Come si vede è necessario effettuare la trasposta della matrice inversa perchè
matlab esegue solo il prodotto di un vettore per una matrice e non il prodotto
di una matrice per un vettore . Effettuiamo allora tali calcoli con matlab:
C=inv(A)C =
0.7143 -0.4286
-0.1429 0.2857
effettuiamone la trasposta:
C=C'C =
0.7143 -0.1429
-0.4286 0.2857
Calcoliamo infine il vettore soluzione:
X=B*CX =
1.0000 3.0000