Problema agli autovalori - Analisi Modale sismica
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
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
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.
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)
