luxorl
23-11-2005, 12:42
Ciao
non penso sia proprio la sezione adatta x chiedere su Matlab.. ma visto che qui passa la gente che a che fare con matematica e roba simile.. di sicuro qualcuno sapà rispondermi!
ho seguito le istruzioni del seguente link:
http://freeweb.supereva.com/programmarein/matlab/index.html?p
dato che non apre direttamente la pagina in cui spiega come risolvere un sistema con matlab incollo le istruzioni di seguito:
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
A me non da!! :(
in effetti come gli escono quei numeri (0.7143 -0.4286 -0.1429 0.2857) dopo aver calcolato l'inversa???? l'inversa di una matrice non è la stessa matrice ruotata?
La pagina è tutta sbagliata o sono io che sbaglio tutto?
Come risolvo un sistema di N incognita in N equazioni con Matlab?
non penso sia proprio la sezione adatta x chiedere su Matlab.. ma visto che qui passa la gente che a che fare con matematica e roba simile.. di sicuro qualcuno sapà rispondermi!
ho seguito le istruzioni del seguente link:
http://freeweb.supereva.com/programmarein/matlab/index.html?p
dato che non apre direttamente la pagina in cui spiega come risolvere un sistema con matlab incollo le istruzioni di seguito:
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
A me non da!! :(
in effetti come gli escono quei numeri (0.7143 -0.4286 -0.1429 0.2857) dopo aver calcolato l'inversa???? l'inversa di una matrice non è la stessa matrice ruotata?
La pagina è tutta sbagliata o sono io che sbaglio tutto?
Come risolvo un sistema di N incognita in N equazioni con Matlab?