Informatica 5 Liceo Scientifico Scienze Applicate/Sistema di equazioni lineari
Risoluzione di un sistema di equazioni lineari
[modifica | modifica sorgente]E' possibile calcolare le soluzioni di un sistema di equazioni lineari rappresentandolo in forma matriciale e risolvendolo tramite programmi matematici come Octave o tramite un comune foglio di calcolo. Risolvere un sistema di equazioni lineari risulta così un'operazione estremamente semplice e veloce.
Quando si studiano i primi circuiti resistivi in elettronica o in fisica |
per risolverli e trovare le correnti nei diversi rami bisogna risolvere un sistema di equazioni lineari; quando si ha una reazione chimica |
e si vuole determinare le quantita' di sostanze da impiegare come reagenti per ottenere un certo quantitativo di prodotto finale si può riformulare il tutto scrivendo un sistema di equazioni lineari. |
Introduzione teorica sulla risoluzione di un sistema
Dato un sistema di equazioni lineari del tipo:
si consideri la matrice A contenente i coefficienti delle incognite del sistema, il vettore b contenente i termini noti del sistema ed il vettore x contenente le incognite del sistema stesso.
La formula per la risoluzione del sistema risulta:
Quindi, per il calcolo matriciale(la proprietà commutativa in generale non vale per il prodotto tra matrici):
Risoluzione di un sistema di equazioni lineari con Octave
Si consideri il sistema di equazioni seguente come esempio da risolvere:
Inseriamo su Octave la matrice A contenente i coefficienti delle incognite del sistema digitando A=[1 -4 -3 ;6 1 -1;1 3 2 ], ed il vettore b contenente i termini noti con l'istruzione b=[2;7;8] in questo caso gli elementi del vettore b devono essere disposti su una colonna:
e creiamo la matrice C inversa di A digitando C=inv(A)
Infine, per ottenere i valori delle incognite sotto forma di vettore x, sfruttando la formula di risoluzione del sistema, digitiamo x=C*b
Il programma scritto in Octave e' allora
A=[1 -4 -3; 6 1 -1; 1 3 2] b=[2 ;7 ;8] C=inv(A) x=C*b
e dalla sua esecuzione si ottiene
A= 1 -4 -3 6 1 -1 1 3 2
b= 2 7 8
C= 0.83 -0.16 1.16 -2.16 0.83 -2.83 2.83 1.16 -4.16
x= 9.83 -21.1 30.8
Risoluzione di un sistema di equazioni lineari con un foglio elettronico
Anche con un foglio elettronico è possibile risolvere sistemi con procedure simili a quelle illustrate per Octave. Le matrici ed i vettori andranno in questo caso inseriti nelle celle del foglio di calcolo (nel nostro caso OpenOffice Calc)
Inseriamo nel blocco di celle B3:D5 i coefficienti delle incognite, nelle celle G3:G5 i termini noti, calcoliamo l'inversa selezionando il blocco di celle B9:D11 e scriviamo la formula =MINVERS(B3:D5) e poi invece di premere Invio premiamo ctrl+shift+invio : la formula scritta prima compare fra parentesi graffe e nelle celle B9:D11 compare la matrice inversa; a questo punto selezioniamo tre celle (in colonna ), ad esempio B16:B18, e scriviamo la formula =MMULT(B9:D11;G3:G5). Premiamo ctrl+shift+invio e ci compare il risultato.