我是Fortran的新手。 现在,我正在尝试创建一个应该打印矩阵系数的简单函数。 最初我想用矩阵做一些更有趣的事情(这就是我使用FUNCTION关键字的原因),但我不得不愚蠢,因为“Hello world”和“乘以2”是我设法的唯一程序编译到目前为止。
这是我的代码:
PROGRAM my_program
IMPLICIT NONE
INTEGER, EXTERNAL :: print_coefs
END PROGRAM my_program
FUNCTION print_coefs(arr)
IMPLICIT NONE
REAL, INTENT(IN), DIMENSION(:) :: arr
INTEGER :: print_coefs
INTEGER :: i,j
do i = 1, size(arr, 1)
do j = 1, size(arr, 2)
print *, arr(i,j)
enddo
enddo
print_coefs = 0
END FUNCTION
所以我在编译时遇到这个错误:
错误:(1)中'size'的'dim'参数不是有效的维度索引。
为什么? size
不是获得矩阵size
的正确方法吗?
谢谢你的帮助。