| 查看: 579 | 回复: 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 ] |
» 猜你喜欢
各位大神,目前国内有哪些比较好用的逆合成软件?
已经有13人回复
国社科系统bug了,是不是要放榜了?
已经有10人回复
现代”学阀”该如何界定
已经有9人回复
课题组招2027级博士 上海工程技术大学 激光智能制造方向
已经有4人回复
上海工程技术大学 激光智能制造课题组 2027级博士研究生招生
已经有3人回复
上海工程技术大学激光智能制造课题组|2027级博士研究生招生公告
已经有11人回复
上海工程技术大学激光智能制造课题组-博士研究生
已经有10人回复
申博发邮件
已经有11人回复
我的奶奶
已经有3人回复

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










回复此楼