Come implementare la risoluzione di sistemi di equazioni in Matlab

di Salvatore Parziale difficoltà: media

Come implementare la risoluzione di sistemi di equazioni in MatlabLeggi Risolvere un sistema di due equazioni lineari è una cosa abbastanza semplice che può essere effettuata semplicemente utilizzando carta e foglio. Più complessa risulta la risoluzione di sistemi in cui ci sono più di due equazioni. Inoltre, spesso, equazioni complesse possono essere ridotte ad un sistema di equazioni lineari in cui però il numero di equazioni è elevato. Risulta utile, allora, avere la possibilità di risolvere questi sistemi con l'aiuto di un software.

Assicurati di avere a portata di mano: Basi di matematica Una versione di Matlab installata sul pc

1 Un sistema di equazioni lineari si presenta, ad esempio, come un insieme di due equazioni nelle variabili x e y, che sono le variabili di cui si vuole determinare il valore e che devono soddisfare entrambe le equazioni.
Per determinare la soluzione del sistema in modo univoco ti basta sapere che il numero delle equazioni deve essere lo stesso delle variabili incognite; se ad esempio le variabili sono 3 dovrai disporre di tre equazioni.
Nel caso in cui il numero di equazioni sia minore del numero delle incognite allora il sistema non ammette una soluzione unica; nel caso in cui accada il contrario ci sono due possibilità: se alcune equazioni sono discordanti tra di loro, allora il sistema risulta indeterminato; al contrario può accadere che qualche equazione sia ridondante per cui può essere eliminata.
In questa guida mostrerò come risolvere un sistema classico di N equazioni in N incognite.

2 Come implementare la risoluzione di sistemi di equazioni in MatlabLeggi Supponiamo di voler risolvere il seguente sistema di 2 equazioni in 2 incognite.
Le incognite da determinare sono x e y.
La risoluzione in matlab prevede la costruzione di due matrici in modo da porre il nostro sistema nella seguente forma:

Ax = B

La matrice A sarà la matrice dei coefficienti, il vettore x è il vettore delle incognite e il vettore B è il vettore dei termini noti (termini a destra dell'equazione).
Nella matrice A saranno presenti, disposti su due righe successive, i numeri che moltiplicano la x e la y ai primi membri delle equazioni.

Continua la lettura

3 In Matlab opererai nel modo seguente:
1) Definisci la matrice A: A=[3 4;5 6]
2) Definisci il vettore B: B=[10;7]
Il punto e virgola nelle parentesi quadre indica che i coefficienti dopo di esso sono disposti su un'altra riga.
Naturalmente puoi dare un nome arbitrario alle matrici.
A questo punto per ottenere la soluzione basta scrivere:
3) sol=inv(A)*B
laddove il comando inv sta ad indicare l'inversa di A.  In alternativa puoi utilizzare il comando A^-1 che dà esattamente lo stesso risultato.
Nel nostro caso la soluzione che il software presenterà nella command window sarà -16 e 14.5.
Per verificare l'esattezza del calcolo basta sostituire i 2 valori nell'equazione e vedere se i risultati sono gli stessi dei termini noti.. 

4 Ovviamente lo stesso procedimento lo puoi applicare a sistemi di più di 2 equazioni; se ad esempio le equazioni sono 3 la matrice A sarà caraterizzata da 3 righe e 3 colonne e il vettore B avrà 3 righe (e sempre una sola colonna).
Un modo veloce per verificare a priori che il sistema ammetta soluzione unica è calcolare il determinante della matrice A con il seguente comando:
det(A)
Se esso è diverso da zero, allora il siistema ammetterà una soluzione unica.

Non dimenticare mai: Esercitati con sistemi di piccole dimensioni e poi passa a quelli con più equazioni

Risoluzione equazioni di 2° grado Come risolvere un'equazione differenziale Appunti di matematica: i sistemi lineari Come risolvere i sistemi lineari di due equazioni a due incognite

Stampa la guida Segnala inappropriato
Devi inserire una descrizione del problema

Altre guide utili