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?
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?