主要内容

polyeig

多项式特征值问题

说明

e = polyeig(A0,A1,...,Ap) 返回 p多项式特征值问题的特征值。

示例

[X,e] = polyeig(A0,A1,...,Ap) 还会返回大小为 n×n*p 的矩阵 X,其列是特征向量。

示例

此外,[X,e,s] = polyeig(A0,A1,...,Ap) 返回长度为 p*n 的向量 s,其中包含特征值的条件数。A0Ap 中至少有一个必须是非奇异的。条件数较大表示该问题接近于具有重复特征值的问题。

示例

示例

全部折叠

解算涉及质量矩阵 M、阻尼矩阵 C 和刚度矩阵 K 的二次特征值问题。运动方程中会发生此二次特征值问题:

Md2ydt2+Cdydt+Ky=f(t)

此方程适用于各种振荡系统,包括动态质点-弹簧系统或 RLC 电子网络。基本解是 y(t)=xeλt,因此 λx 都必须解算二次特征值问题 (QEP),

(Mλ2+Cλ+K)x=0

创建系数矩阵 MCK 来表示具有四个自由度的质点-弹簧系统。系数矩阵全部是对称矩阵和半正定矩阵,M 是对角矩阵。

M = diag([3 1 3 1])
M = 4×4

     3     0     0     0
     0     1     0     0
     0     0     3     0
     0     0     0     1

C = [0.4 0 -0.3 0; 0 0 0 0; -0.3 0 0.5 -0.2; 0 0 -0.2 0.2]
C = 4×4

    0.4000         0   -0.3000         0
         0         0         0         0
   -0.3000         0    0.5000   -0.2000
         0         0   -0.2000    0.2000

K = [-7 2 4  0; 2 -4 2 0; 4 2 -9 3; 0 0 3 -3]
K = 4×4

    -7     2     4     0
     2    -4     2     0
     4     2    -9     3
     0     0     3    -3

使用 polyeig 针对特征值、特征向量和条件数解算 QEP。

[X,e,s] = polyeig(K,C,M)
X = 4×8

    0.1828    0.3421   -0.3989   -0.0621   -0.3890    0.4143   -0.4575    0.4563
    0.3530   -0.9296   -0.3330    0.8571    0.6366    0.2717   -0.4981    0.4985
   -0.5360   -0.0456    0.1724   -0.3509    0.3423   -0.1666   -0.5106    0.5107
    0.7448    0.1295    0.8368    0.3720   -0.5712   -0.8525   -0.5309    0.5315

e = 8×1

   -2.4498
   -2.1536
   -1.6248
    2.2279
    2.0364
    1.4752
    0.3353
   -0.3466

s = 8×1

    0.5813
    0.8609
    1.2232
    0.7855
    0.7012
    1.2922
   10.1097
   10.0519

检查第一个特征值 e(1) 和第一个特征向量 X(:,1) 满足 QEP 方程。结果接近但不是零。

lambda = e(1);
x = X(:,1);
(M*lambda^2 + C*lambda + K)*x
ans = 4×1
10-13 ×

   -0.0133
   -0.0466
    0.1465
   -0.0622

输入参数

全部折叠

系数方阵,指定为单独参量。各矩阵必须具有相同的阶 n

数据类型: single | double
复数支持:

输出参量

全部折叠

特征值,以向量形式返回。

特征向量,在矩阵的列中返回。第一个特征向量是 X(:,1),第二个是 X(:,2),以此类推。

条件数,以向量形式返回。s 中的条件数对应于 e 中类似位置的特征值。较大的条件数表示此问题接近于具有重复的特征值。

详细信息

全部折叠

提示

  • polyeig 处理以下简化的情况:

    • p = 0,即 polyeig(A),是标准特征值问题 eig(A)

    • p = 1,即 polyeig(A,B),是广义特征值问题 eig(A,-B)

    • n = 0,即 polyeig(a0,a1,...,ap),是标准多项式问题 roots([ap ... a1 a0]),其中 a0,a1,...,ap 是标量。

算法

在计算广义特征值时,polyeig 函数使用 QZ 分解求中间结果。polyeig 使用中间结果确定特征值是否是完全确定的。有关详细信息,请参阅 eigqz 的说明。

计算出的解可能不存在或不唯一,还可能计算不准确。如果 A0Ap 都是奇异矩阵,则该问题可能是不适定问题。如果 A0Ap 中只有一个是奇异矩阵,则部分特征值可能为 0Inf

缩放 A0,A1,...,Ap 以使 norm(Ai) 约等于 1 可能会增加 polyeig 的准确度。但是在一般情况下,这种改进的准确度难以实现。(有关详细信息,请参阅 Tisseur [3]。)

参考

[1] Dedieu, Jean-Pierre, and Francoise Tisseur. “Perturbation theory for homogeneous polynomial eigenvalue problems.” Linear Algebra Appl. Vol. 358, 2003, pp. 71–94.

[2] Tisseur, Francoise, and Karl Meerbergen. “The quadratic eigenvalue problem.” SIAM Rev. Vol. 43, Number 2, 2001, pp. 235–286.

[3] Francoise Tisseur. “Backward error and condition of polynomial eigenvalue problems.” Linear Algebra Appl. Vol. 309, 2000, pp. 339–361.

扩展功能

全部展开

版本历史记录

在 R2006a 之前推出

另请参阅

| | |