#python #math
Вопрос:
Я хочу провести модальный анализ системы больших степеней свободы в python. У меня есть матрицы массы(M) и жесткости(K). Я использовал
import scipy.linalg as la
evals, evecs = la.eig(K,M)
но результаты не совпадают с аналитическими. Я также использовал
import scipy.sparse.linalg as la
import scipy.sparse as sp`
kk=sp.csr_matrix(K)
mm = sp.csr_matrix(M)
evals, evecs= la.eigsh(A=kk, k=6, M=mm,sigma=0)
frequencies = np.sqrt(evals)/(2*np.pi)
print ("Natural Frequencies : n", frequencies)
но это дает только первые несколько собственных частот.
Может ли кто-нибудь, пожалуйста, предложить возможный подход к нахождению собственных значений и собственных векторов системы с очень большими степенями свободы?
Комментарии:
1. Как именно собственные значения, вычисленные из scipy.linalg.eig, не совпадают с аналитическими? Может быть, они были нормализованы?
2. Обычно используются данные или методы домохозяина.