MATLAB中polyeig函数用法

目录

语法

说明

示例

质量、阻尼和刚度矩阵的二次特征值问题

多项式特征值问题


        polyeig函数的功能是多项式特征值问题。

语法

e = polyeig(A0,A1,...,Ap)
[X,e] = polyeig(A0,A1,...,Ap)
[X,e,s] = polyeig(A0,A1,...,Ap)

说明

        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,其中包含特征值的条件数。A0 和 Ap 中至少有一个必须是非奇异的。条件数较大表示该问题接近于具有重复特征值的问题。

示例

质量、阻尼和刚度矩阵的二次特征值问题

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

        此方程适用于各种振荡系统,包括动态质点-弹簧系统或 RLC 电子网络。基本解是

        因此 λ 和 x 都必须解算二次特征值问题 (QEP),

        创建系数矩阵 M、C 和 K 来表示具有四个自由度的质点-弹簧系统。系数矩阵全部是对称矩阵和半正定矩阵,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

多项式特征值问题

        多项式特征值问题是标准特征值问题 Ax = λx 的变体,但涉及多项式而不是线性项。

        与标准特征值问题一样,其解涉及到求取满足以下方程的特征值和特征向量,

        其中多项式次数 p 为非负整数,并且 A0,A1,...Ap 是 n 阶系数方阵。最常见的形式是二次多项式特征值问题,即

        二次特征值问题与标准(或广义)特征值问题的一个主要区别是,前者可以有最多 2n 个特征值以及最多 2n 个右特征向量和左特征向量。如果特征向量多于 n 个,则特征向量不会形成线性无关的集。有关二次特征值问题的更多详细信息,请参阅 [1] 和 [2]。

提示

  • 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 使用中间结果确定特征值是否是完全确定的。有关详细信息,请参阅 eig 和 qz 的说明。

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

        缩放 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.

  • 17
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值