在Fortran中将数组作为函数输入和输出?

时间:2018-03-12 16:54:17

标签: arrays function fortran

我有一个函数,我想在它里面做一些数学运算,在一个数组上我将它作为一个数组输入,然后该函数将返回一个数组作为输出。这是我一直在尝试的代码,但我似乎无法使其正常运行!

program solve_linear
implicit none

    real, allocatable :: A( :,: ) ,B(:),XX(:)
    integer :: M
    real, allocatable :: X(:)

    M=3
    allocate(B(M),XX(M),X(1:M))

    B(1)=7
    B(2)=4
    B(3)=-10

    XX=X(B,M)

end program solve_linear

function X(B,M)
implicit none

    integer, intent(in) :: M
    real, dimension(M), intent(in) :: B
    real, dimension(M) :: X
    integer :: i

    do i=1,M
        X(i)=B(i)**2
    end do

end function

我的主要问题是在我的程序代码中使用函数的输出,你可以在XX = X(B,M)中看到。我想在这里做的是,我想要一个函数将数组B作为输入,并将每个数组元素自身相乘并返回结果数组作为函数的输出。那我怎么能实现这个呢?

0 个答案:

没有答案