24小时热门版块排行榜    

查看: 408  |  回复: 2

kathy2008

木虫 (正式写手)

[交流] 【求助】如何构建由两个一样的矩阵形成的方阵 已有2人参与

本人在构建一个128*128的方阵,由处于对角线上的两个64*64的矩阵A来构建,下面是子程序,但运行后在D0 72 I=N0+1,N0+N1   D0 73 J=N0+1,N0+N1  处报错,请高手指点。谢谢。            
     SUBROUTINE CONST(N0,N1,A,C0,ND)      
     IMPLICIT REAL*8(A-H,O-Z)            
     DIMENSION C0(ND,ND),A(ND,ND)         
                                          
                                          
      DO 80 I=1,N0                        
        DO 81 J=1,N0-1                    
         C0(I,J)=A(I,J)                  
  81    CONTINUE                          
  80  CONTINUE                           
                                          
         DO 60 I=1,N0                     
         DO 61 J=N0+1,N0+N1               
         C0(I,J)=0.0                     
  61      CONTINUE                        
  60   CONTINUE                           
                                          
         DO 70 I=N0+1,N0+N1               
         DO 71 J=1,N0                     
         C0(I,J)=0.0                     
  71   CONTINUE                           
  70   CONTINUE                           
                                          
         D0 72 I=N0+1,N0+N1               
         D0 73 J=N0+1,N0+N1               
           C0(I,J)=A(I,J)                 
  73     CONTINUE                        
  72     CONTINUE                        
     RETURN                              
     END
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ykwang

金虫 (正式写手)

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+3):谢谢参与应助,欢迎常来程序语言版! 2010-12-24 16:46:26
这个程序写得很有问题。设ND=128, N0=64,A中包含了64*64的对角快,那么用两个循环模块就足够了:

C   初始化C0(I,J)=0D0
     DO I=1,ND
         DO J=1,ND
             C0(I,J)=0D0
         ENDDO
     ENDDO
C   给对角快赋值
     DO I=1,N0
         DO J=1,N0
             C0(I,J)=A(I,J)
             C0(N0+I,N0+J)=A(I,J)
         ENDDO
     ENDDO
Nothing_Is_Impossible!
2楼2010-12-23 14:51:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kathy2008

木虫 (正式写手)

引用回帖:
Originally posted by ykwang at 2010-12-23 14:51:28:
这个程序写得很有问题。设ND=128, N0=64,A中包含了64*64的对角快,那么用两个循环模块就足够了:

C   初始化C0(I,J)=0D0
     DO I=1,ND
         DO J=1,ND
             C0(I,J)=0D0
         ENDDO
  ...

多谢专家指点。
3楼2010-12-24 14:48:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 kathy2008 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见