1
我在程序中遇到錯誤。爲了顯示錯誤,我添加了這個小程序和相關的錯誤。我會讚賞一些幫助。Fortran錯誤:數組表達式的形狀不符合
PROGRAM TRY
IMPLICIT NONE
REAL(KIND=8) :: A(6,6),B(6,6)
INTEGER :: I, J
REAL(KIND=8) :: RHO, H
REAL(KIND=8) :: C(5,2),D(2,5),E(5,5)
!
RHO=780
H=0.5D0
DO I=1,6
DO J=1,6
A(I,J)=1
ENDDO
ENDDO
B=RHO*H**2.0D0*A
DO I=1,5
DO J=1,2
C(I,J)=I+J
ENDDO
ENDDO
OPEN(1,FILE='OUTPUT.DAT')
DO I=1,6
WRITE(1,20) (B(I,J), J=1,6)
ENDDO
DO I=1,5
DO J=1,2
D(J,I)=C(I,J)
ENDDO
ENDDO
E=C*D
DO I=1,5
WRITE(1,20) (E(I,J), J=1,5)
ENDDO
CLOSE(1)
20 FORMAT (999(2x,EN14.4))
END PROGRAM TRY
我收到以下錯誤信息:
fortran_worksheet.f(32): error #6366: The shapes of the array expressions do not conform.
E=C*D
---------^
fortran_worksheet.f(32): error #6366: The shapes of the array expressions do not conform. [E]
E=C*D
------^
compilation aborted for fortran_worksheet.f (code 1)
或者,使用內在的'matmul'函數。當數組只有'2 x 5'左右時,任何關於它相對於'blas'例程的性能可以被忽略。 –