| 查看: 12828 | 回复: 157 | |||
| 本帖产生 1 个 程序强帖 ,点击这里进行查看 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
maomao1210金虫 (正式写手)
|
[交流]
【交流】Fortran语言答疑专帖 已有46人参与
|
||
[ Last edited by nono2009 on 2009-11-18 at 10:34 ] |
» 本帖已获得的红花(最新10朵)
» 猜你喜欢
售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急
已经有7人回复
两块石头
已经有8人回复
初秋的晨风
已经有6人回复
学科评审组评审是指会评吗?
已经有9人回复
售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急
已经有14人回复
广西大学-广州大学招聘博士后 欢迎广大优秀人才!!!
已经有7人回复
科研人应该花精力去思考如何解决问题,而不是去凝练问题
已经有17人回复
面上没中,邀请各位路过的虫友分析一下分数
已经有11人回复
Ei源刊怎么投
已经有4人回复
哈尔滨工业大学韩晓军教授课题组招收2027年硕士推免生及博士研究生
已经有3人回复
★
小木虫: 金币+0.5, 给个红包,谢谢回帖
小木虫: 金币+0.5, 给个红包,谢谢回帖
|
前辈您好,我写了一个计算复数矩阵行列式的小程序,出现错误了,望前辈指点! SUBROUTINE CDET(A,N,DET) USE MSIMSL IMPLICIT INTEGER*4 (I-N) IMPLICIT REAL*8 (A-H,O-Z) COMPLEX*16 A(N,N),DET DIMENSION RAR(N,N),RAI(N,N) REAL*8 SS !C===================================================================== RAR=DREAL(A) RAI=DIMAG(A) F =1.0 DET=1.0 !C===================================================================== DO L=1,N-1 RD=0.0 DO I=L,N !C===================================================================== DO J=L,N !C--------------------------------------------------------------------- RM=RAR(I,J)*RAR(I,J)+RAI(I,J)*RAI(I,J) !C--------------------------------------------------------------------- IF (RM.GT.RD) THEN RD=RM IS=I JS=J END IF !C--------------------------------------------------------------------- ENDDO ENDDO !C===================================================================== IF (RD+1.0.EQ.1.0) THEN DET=0.0 RETURN END IF !C===================================================================== IF (IS.NE.L) THEN F=-F !C--------------------------------------------------------------------- DO J=L,N P=RAR(L,J) RAR(L,J)=RAR(IS,J) RAR(IS,J)=P P=RAI(L,J) RAI(L,J)=RAI(IS,J) RAI(IS,J)=P ENDDO !C--------------------------------------------------------------------- ENDIF !C===================================================================== IF (JS.NE.L) THEN F=-F !C--------------------------------------------------------------------- DO I=L,N P=RAR(I,L) RAR(I,L)=RAR(I,JS) RAR(I,JS)=P P=RAI(I,L) RAI(I,L)=RAI(I,JS) RAI(I,JS)=P ENDDO !C--------------------------------------------------------------------- END IF DET=DET*DCMPLX(RAR(L,L),RAI(L,L)) !C===================================================================== DO J=L+1,N P=RAR(L,J)*RAR(L,L) Q=-RAI(L,J)*RAI(L,L) SS=(RAR(L,L)-RAI(L,L))*(RAR(L,J)+RAI(L,J)) RAR(L,J)=(P-Q)/RD RAI(L,J)=(SS-P-Q)/RD ENDDO DO I=L+1,N DO J=L+1,N P=RAR(I,L)*RAR(L,J) Q=RAI(I,L)*RAI(L,J) SS=(RAR(I,L)+RAI(I,L))*(RAR(L,J)+RAI(L,J)) RAR(I,J)=RAR(I,J)-P+Q RAI(I,J)=RAI(I,J)-SS+P+Q ENDDO ENDDO !C--------------------------------------------------------------------- ENDDO !C===================================================================== DET=F*DET*DCMPLX(RAR(N,N),RAI(N,N)) RETURN END SUBROUTINE !C===================================================================== 错误为Error: The shapes of the array expressions do not conform. [DET] 请您看一下,万分感谢! |
149楼2013-07-29 17:04:00
2楼2009-06-01 12:32:17
maomao1210
金虫 (正式写手)
- 程序强帖: 5
- 应助: 2 (幼儿园)
- 金币: 1432.8
- 散金: 242
- 红花: 16
- 沙发: 1
- 帖子: 991
- 在线: 442.1小时
- 虫号: 253215
- 注册: 2006-05-20
- 性别: MM
- 专业: 考古理论
★ ★ ★ ★ ★
wangen994(金币+2,VIP+0):鼓励一下,哈哈 6-4 11:55
gwdavid(金币+3,VIP+0):辛苦了!答疑帖加大奖励力度!;) 6-7 10:32
wangen994(金币+0,VIP+0):请你讲九月份十月份的参与应助的帖子整理附在http://emuch.net/bbs/viewthread.php?tid=1358729&fpage=1后面,以便发放津贴 11-9 19:00
wangen994(金币+2,VIP+0):鼓励一下,哈哈 6-4 11:55
gwdavid(金币+3,VIP+0):辛苦了!答疑帖加大奖励力度!;) 6-7 10:32
wangen994(金币+0,VIP+0):请你讲九月份十月份的参与应助的帖子整理附在http://emuch.net/bbs/viewthread.php?tid=1358729&fpage=1后面,以便发放津贴 11-9 19:00
|
哦。我给你举个例子吧,比如对称矩阵 A[3,3] A(1,1) A(1,2) A(1,3) A(2,1) A(2,2) A(2,3) A(3,1) A(3,2) A(3,3) 只要存储成一个一维数组即可: B(1)=A(1,1),B(2)=A(2,1),B(3)=A(2,2), B(4)=A(3,1),B(5)=A(3,2),B(6)=A(3,3). 还要记住这个: 行和列与存储该值的关系为:II=MAX(I,J)*(MAX(I,J)+1)/2+MIN(I,J), 那么B(II)==A(I,J). 不知道我讲的能听懂与否。如果不懂,继续发问。 |
3楼2009-06-01 12:41:49
anbb1009
金虫 (正式写手)
- 应助: 0 (幼儿园)
- 金币: 555.6
- 散金: 100
- 帖子: 375
- 在线: 233小时
- 虫号: 644698
- 注册: 2008-11-03
- 专业: 凝聚态物性 II :电子结构
4楼2009-06-05 14:35:16










回复此楼
ynn112