我有一个符号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知识,感谢您的帮助!
答案 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的特征值,并将这些值存储到数组中。从那里开始,情节应该非常简单。