
Come si risolve un sistema di equazioni lineare in Matlab
In questa lezione di Matlab ti spiego come risolvere un sistema di equazioni lineari tramite il calcolo matriciale e vettoriale.
Ti faccio un esempio pratico.
Questo sistema di equazioni lineari ha due incognite in due equazioni.
$$ \begin{cases} x+5y-3 = 0 \\ \\ 2x-4y+8=0 \end{cases} $$
Nota. Le equazioni sono dette lineari quando il grado più alto delle incognite è uguale a 1.
Riscrivi il sistema di equazione nella forma normale ax+by=c
Sposta i termini noti nel membro di destra lasciando le incognite e i loro coefficienti nel membro di sinistra delle equazioni.
$$ \begin{cases} x+5y=3 \\ \\ 2x-4y=-8 \end{cases} $$
Ora converti il sistema di equazioni in forma vettoriale
$$ \begin{pmatrix} 1 & 2 \\ 2 & -4 \end{pmatrix} \cdot \begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix} 3 \\ -8 \end{pmatrix} $$
La matrice a sinistra è la matrice dei coefficienti delle variabili incognite x e y.
$$ A = \begin{pmatrix} 1 & 2 \\ 2 & -4 \end{pmatrix} $$
Il primo vettore è il vettore delle incognite
$$ \vec{x} = \begin{pmatrix} x \\ y \end{pmatrix} $$
L'ultimo vettore è il vettore dei termini noti delle due equazioni
$$ \vec{b} = \begin{pmatrix} 3 \\ -8 \end{pmatrix} $$
Ora vediamo come trasformare queste informazioni in variabili nell'ambiente di lavoro su Matlab.
Per definire la matrice dei coefficienti su Matlab crea un array a due dimensioni.
Digita A = [ 1 , 2 ; 5 , -4 ] sulla riga di comando.
>> A = [ 1 , 2 ; 5 , -4 ]
A =
1 2
5 -4
Per definire il vettore dei termini noti su Octave crea un array a una dimensione.
Digita b = [ 3 ; -8 ]
>> b = [ 3 ; -8 ]
b =
3
-8
Il sistema di equazioni in forma vettoriale è il prodotto di una matrice per un vettore.
$$ A \cdot \vec{x} = \vec{b} $$
Per trovare le soluzioni del sistema di equazioni ricava il vettore x spostando tutto il resto nel membro di destra
$$ \vec{x} = A^{-1} \cdot \vec{b} $$
Il simbolo A-1 è la matrice inversa della matrice dei coefficienti A del sistema.
A questo punto calcola A-1·b su Matlab digitando il comando inv(B)*b
>> inv(A)*b
ans =
-2
1
Il risultato sono i valori x e y degli elementi del vettore delle incognite
$$ \vec{x} = \begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix} -2 \\ 1 \end{pmatrix} $$
In questo modo hai trovato la soluzione del sistema di equazioni
$$ x=-2 $$
$$ y=1 $$
Il sistema di equazioni lineare ha una soluzione (x;y)=(-2;1)
Verifica se la soluzione è corretta. Sostituisci i valori x=-2 e y=1 nel sistema di equazioni iniziale. Poi svolgi i calcoli algebrici. $$ \begin{cases} x+5y=3 \\ \\ 2x-4y=-8 \end{cases} $$ $$ \begin{cases} -2 + 5 \cdot 1 =3 \\ \\ 2 \cdot (-2) -4 \cdot 1 =-8 \end{cases} $$ $$ \begin{cases} 3 =3 \\ \\ -8 =-8 \end{cases} $$ Tutte le equazioni del sistema sono soddisfatte. Quindi la soluzione x=-2 e y=1 è corretta