Problema agli autovalori - Analisi Modale sismica

giacomonovanta
Buongiorno a tutti, per l'esame di costruzioni in zona sismica (ing. civile) dovrei risolvere un problema agli autovalori, è da qualche anno che non pratico con matrici qundi ho un dubbio, vi spiego:
Il problema da risolvere è il seguente: $ (K-\lambdaM)\psi=0 $
se scrivo su MATLAB [A,B]=eig(K,M) mi restituisce due matrici contenenti A autovettori e B autovalori, e fino a qui tutto ok, prima di usare questo comando avevo provato a riportare il problema alla forma nota che ho studiato e che sapevo risolvere, ovvero il problema scritto nella forma $ (A-\lambdaI)x=0 $ per cui ho scritto che $ K\psi-\lambdaM\psi=0 \Rightarrow (M^-1K-\lambdaI)\psi=0 $ allora ho chiamato la matrice $ M^-1K=B $ e ho calcolato gli autovettori e autovalori di $ B $, ricercando gli zeri del polinomio caratteristico.
Il problema è che mi escono risultati differenti, ma io sapevo che le due forme erano equivalenti, non so quindi se è sbagliato il comando che ho dato a MATLAB oppure il ragionamento, spero che qualcuno possa togliermi questo dubbio, vi ringrazio tantissiimo!!!
Buona giornata

Risposte
dissonance
Se \(M\ne I\), quello si chiama "problema agli autovalori generalizzato". Il tuo procedimento è formalmente corretto, ma numericamente non si fa così, perché nell'invertire \(M\) potresti introdurre forti errori. Controlla giusto sulla guida in linea di MATLAB se si scrive eig(K, M) o eig(M, K), non vorrei che tu li abbia scritti al contrario.

giacomonovanta
Grazie della risposta! Provo a spiegare meglio qualche particolare, la matrice $ M $ è una matrice diagonale quindi nel fare la matrice inversa praticamente sulla diagonale ci saranno gli inversi degli elementi di M,comunque ho provato a calcolare sia [A,B]=eig(K,M) sia [A,B]=eig(M,K) ma vengono in entrambi i casi risultati diversi da [A,B]=eig(B) :?

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.