如何查找和绘制符号6 * 6矩阵的特征值

时间:2015-05-15 16:06:44

标签: matlab eigenvalue

我有一个符号6x6 matrics,我必须找到特征值并绘制它们。 我无法策划,我不知道我能做什么。

    syms t H t1 t2 E1 E2 E3 E4 E5 E6 HH H1 v d H2 k a E;


t1=1;
t2=1.5*t1;
a=3;

H=[0 t2 0 0 0 t1  
    t2 0 t1 0 0 0
    0 t1 0 t2 0 0
    0 0 t2 0 t1 0
    0 0 0 t1 0 t2
    t1 0 0 0 t2 0];

H1=[0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    t1*exp(1i*k*a) 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0];

H2=[0 0 0 t1*exp(1i*k*a) 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0];

HH=H+H1+H2;

E=eig (HH)

我无法运行      [V,d] = EIG(HH)
而且我不知道如何绘制6种不同的E(K)函数

对不起英语和matlab的mator知识,感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我运行了你的代码,并且能够做到

[v,D]=eig(HH)

在D中找到的对角线值将是您的特征值。由于您没有为k指定精确值,因此输出太长而无法在此处发布,但这是仅使用第一个矩阵H的示例:

syms t H t1 t2 E1 E2 E3 E4 E5 E6 HH H1 v d H2 k a E;


t1=1;
t2=1.5*t1;
a=3;

H=[0 t2 0 0 0 t1  
   t2 0 t1 0 0 0
   0 t1 0 t2 0 0
   0 0 t2 0 t1 0
   0 0 0 t1 0 t2
   t1 0 0 0 t2 0];

HH=H+H+H;

[v,D]=eig(HH)

输出:

v =

-0.4082   -0.2485   -0.5211    0.1548   -0.5562    0.4082
 0.4082    0.5290    0.2312   -0.2471   -0.5218    0.4082
-0.4082   -0.3271    0.4758   -0.5591    0.1441    0.4082
 0.4082   -0.0642   -0.5738   -0.3283    0.4749    0.4082
-0.4082    0.5756    0.0453    0.4043    0.4121    0.4082
 0.4082   -0.4648    0.3425    0.5754    0.0469    0.4082

D =

-7.5000         0         0         0         0         0
      0   -3.9686         0         0         0         0
      0         0   -3.9686         0         0         0
      0         0         0    3.9686         0         0
      0         0         0         0    3.9686         0
      0         0         0         0         0    7.5000

如果你试图为不同的k值绘制特征值,我的建议是做一个循环:计算每个k值的HH的特征值,并将这些值存储到数组中。从那里开始,情节应该非常简单。

MATLAB documentation on plotting