| 查看: 556 | 回复: 1 | ||
[求助]
H*pinv(H)为什么在非对角元出现非零值?
|
|
如题,代码如下。多谢各位同学啊!! clc; clear; N=8; M=5; A1=zeros(N,N); A2=zeros(N,N); B1=zeros(N,N); B2=zeros(N,N); C1=zeros(N,N); C2=zeros(N,N); H=zeros(M*N,M*N); Gr=zeros(M*N,M*N); t=2.8; %设定zigzag边界系统哈密顿矩阵 for j=1:N-1 if(mod(j,2)==0) A1(j,j+1)=-t; A1(j+1,j)=-t; end if(mod(j,2)==1) A2(j,j+1)=-t; A2(j+1,j)=-t; end end for j=1:N B1(j,j)=-t; B2(j,j)=-t; end C2=B1'; C1=B2'; %系统整体哈密顿矩阵 for j=1:M if(mod(j,2)==1) H((j-1)*N+1:j*N, (j-1)*N+1:j*N)=A1; else H((j-1)*N+1:j*N, (j-1)*N+1:j*N)=A2; end end for j=1:M if(mod(j,2)==1) if j==1 H((j-1)*N+1:j*N,j*N+1: (j+1)*N)=B1; else if j<M H((j-1)*N+1:j*N,j*N+1: (j+1)*N)=B1; H((j-1)*N+1:j*N, (j-2)*N+1: (j-1)*N)=C1; else H((j-1)*N+1:j*N, (j-2)*N+1: (j-1)*N)=C1; end end else H((j-1)*N+1:j*N,j*N+1: (j+1)*N)=B2; H((j-1)*N+1:j*N, (j-2)*N+1: (j-1)*N)=C2; end end Gr=pinv(H); HH=Gr*H; 这里应该得到单位矩阵,但是在HH非对角元得到非零值。很奇怪 啊!!求高人解答!! [ Last edited by 田山东 on 2013-8-22 at 16:05 ] |
» 猜你喜欢
filecode=后面第一个是大写字母
已经有7人回复
时间戳又变了8-15
已经有22人回复
欢迎发来filecode的Mz6后的代码验证其规律
已经有60人回复
有时候,自然基金真的不能太认真 (我的申报经验)
已经有10人回复
filecode
已经有12人回复
小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊
已经有13人回复
哪位老哥知道今年的国自然具体哪一天放榜?
已经有7人回复
关于Filecode分析方法
已经有13人回复
各位道友,我要去昆明玩几天,回来见。
已经有8人回复
咱们一起用铁证分析2026国家社科基金中标与否
已经有22人回复

alorsmail
铁杆木虫 (著名写手)
- 应助: 52 (初中生)
- 金币: 7398.3
- 红花: 41
- 帖子: 2104
- 在线: 237小时
- 虫号: 2537936
- 注册: 2013-07-09
- 专业: 系统生物学
2楼2013-08-22 17:04:07










回复此楼