小编Dim*_*i K的帖子

除非计算的特征值的数量很大,否则Matlab的eigs不会收敛

我试图用以下运动方程计算阻尼结构的特征值lambda:

(lambda ^ 2*M + lambda*C + K)*x = 0.

其中M,CK是稀疏矩阵.使用Matlab的polyeig函数可以工作,但我想进入更大的系统并利用我的矩阵的稀疏性.我使用状态空间线性化来获得广义特征值问题,如下所示:

(A - lambda*B)*z = 0,

A = [ K,0 ; 0, - M ],

B = [ - C, - M ; - M,0 ],

z = [ x ; lambda*x ]

用Matlab的eigs函数解决这个问题:

lambda = eigs(A,B,10,'sm')
Run Code Online (Sandbox Code Playgroud)

产生以下输出:

lambda =
   1.0e+03 *
  -0.2518 - 1.3138i
  -0.2518 …
Run Code Online (Sandbox Code Playgroud)

math matlab eigenvalue

12
推荐指数
1
解决办法
871
查看次数

标签 统计

eigenvalue ×1

math ×1

matlab ×1