| 查看: 470 | 回复: 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 ] |
» 猜你喜欢
英文综述是否需要润色及查重
已经有5人回复
救命帖
已经有5人回复
限项规定
已经有5人回复
为什么nbs上溴 没有产物点出现呢
已经有9人回复
招博士
已经有3人回复
存款400万可以在学校里躺平吗
已经有35人回复
最失望的一年
已经有18人回复
求推荐英文EI期刊
已经有5人回复

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













回复此楼