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.

il sistema di equazioni in forma vettoriale

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




Non hai risolto il tuo problema? Scrivi una domanda




FacebookTwitterLinkedinLinkedin