PDA

View Full Version : calcolo esponenziale di matrice in matlab???!! taylor?


YordanRhapsody
08-05-2008, 21:01
allora, salve gente, ho un piccolo problema...

in ambiente matlab dovrei calcolare la matrice

ST=e^(dt*A)

e la matrice

PR=A^-1*(ST-I)*B

il programma che originariamente eseguiva questi calcoli, era programmato in fortran e per calcolare ST usava l'approssimazione in serie di Taylor, anche per calcolare PR usava un reiteramento di calcoli

ora...

in linea di massima, sotto matlab non ho bisogno di simili archibugi, giusto? mi dovrebbe bastare scrivere (tenendo conto che ST è una matrice 4x4, come anche A, dt è un valore numerico, PR una matrice colonna di 4 elementi come anche B)

ST=exp(dt*A);

I=eye(4);

PR=inv(A)*(ST-I)*B;

ma... perché i risultati che ottengo non combaciano con quelli del programma in fortran?

per calcolare ST tramite taylor? come potrei fare? c'è una funzione in matlab che si chiama appunto taylor, ma dice che non accetta double come ingressi, e come faccio allora?

jepessen
10-05-2008, 14:17
Il comando per il calcolo della matrice esponenziale in matlab è expm. Exp fa solamente l'esponente di ogni elemento.

Daniele