Come faccio a risolvere un sistema
di due equazioni in due incognite con l'utilizzo della scrittura
in M-File in MATLAB.
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*C
X =
1.0000 3.0000
|