- 积分
- 30
- 注册时间
- 2003-4-18
- 仿真币
-
- 最后登录
- 1970-1-1
|
手头没什么fortran的书,想问一下fortran中的function能否将
一个一维(或高维)数组作为输出,
谢谢.
偶编了一个小程序做一维数组与二维数组的乘法,好像不行
PROGRAM PQ
IMPLICIT NONE
REAL(KIND=8),EXTERNAL::MATVEC
INTEGER:: I,J,N
REAL(KIND=8)::B(3),C(3),A(3,3),D(3)
DATA A /1,2,3,4,5,6,7,8,9/
!A(3,3)=(/1,2,3,4,5,6,7,8,9/)
B=1.0
N=3
D=MATVEC(3,A,B,C)
WRITE(*,*)D
END PROGRAM PQ
FUNCTION MATVEC(N,M,X,TT)
IMPLICIT NONE
INTEGER::N,I,J
REAL(KIND=8)::M(N,N),X(N),MATVEC(N),TEMP,TT(N)
DO I=1,N,1
TEMP=0.0
DO J=1,N,1
TEMP=TEMP+M(I,J)*X(J)
ENDDO
TT( I )=TEMP
WRITE(*,*)TEMP
ENDDO
RETURN
END FUNCTION MATVEC
另外:
fortran中real(kind=8)::a
可以使a具有15位有效数字,如何再提高有效位数?
谢谢,只是想了解一下。
比如kind=20如何定义? |
|