24小时热门版块排行榜    

查看: 874  |  回复: 5

fanbao_keke

铁虫 (正式写手)

[交流] 【求助】求高人帮我修改程序 已有3人参与

我编的下面这个程序画出的图形与原图不一致,可能是在能量的排序上存在问题,我不知如何修改,请大家帮我找找解决的办法,万分感谢!
clear all
omega=1;
m=1;
for F=0:0.1:10   
J=40;  T=2*pi/omega;
tstep=T/J;  U=eye(4,4);
for t=tstep:tstep:T      
H_0=zeros(4,4);
H_0(1,2)=0.2;
H_0(2,1)=0.2;
H_0(2,3)=0.2;
H_0(3,2)=0.2;
H_0(3,4)=0.2;
H_0(4,3)=0.2;              
H=zeros(4,4);
for n=1:1:4
H(n,n)=n*F*cos(omega*t);
end
U=expm(-i*(H_0+H)*tstep)*U;
end

[C,Ueig]=eig(U);
QuasiEnergy=i*log(diag(Ueig))/T;
ExpectH_0=C'*H_0*C;
[ExpSort,Index]=sort(diag(ExpectH_0));
E(:,m)=(QuasiEnergy(Index(1:4)));
m=m+1;
end
plot(0:0.1:10,sort(E))


以下是原图形:


[ Last edited by fanbao_keke on 2010-6-11 at 23:50 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fanbao_keke

铁虫 (正式写手)

大家帮帮忙,谢谢!!!

[ Last edited by fanbao_keke on 2010-6-11 at 23:48 ]
2楼2010-06-11 23:46:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师


robert2020(金币+1):多谢应助,欢迎常来仿真模拟版交流。 2010-06-12 18:43:23
fanbao_keke(金币+10):谢谢!只是现在程序中本征值在排序上还是有点问题,没法与原图一致,能否帮我一下。 2010-06-12 21:57:26
fanbao_keke(金币+20): 2010-07-22 07:44:02
QuasiEnergy=real(i*log(diag(Ueig))/T);
    ExpectH_0=real(C'*H_0*C);

计算精度的原因出现了复数
3楼2010-06-12 00:25:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师

F=0:0.001:10     %这个步长精度才能画出放大图的效果
4楼2010-06-12 00:30:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fanbao_keke

铁虫 (正式写手)

这两个图还是不一致,在原图中第一个区域最大的那条线在第二个区域成为第二大(如粉红线),然后交替变化,同样第一个区域最小的那条线在第二个区域为第三大,而第三条线变为最小的,然后交替变化,而我这个程序画出的图中最大的始终最大,最小的始终最小,没有交叉,这应该是在本征值的排序上处理错了,不知如何改?麻烦大家帮帮我,谢谢!!!



[ Last edited by fanbao_keke on 2010-6-13 at 10:21 ]
5楼2010-06-12 08:53:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

凡人大五

木虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
您好,请问一下,这篇文章出自哪里?能否把文章的题目发给我,我想找来看看,谢谢!!
6楼2017-07-18 14:35:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 fanbao_keke 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见