解决办法?在100%纯Fortran中…
! calc.f90
program main
implicit none
real avec( 3 ), xvec( 2 ), A( 3, 2 )
integer i
do i = 1, size(xvec)
xvec = 0 ; xvec(i) = 1.0
call calc()
A(:,i) = avec
enddo
do i = 1, size(avec)
print *, A(i,:)
enddo
contains
subroutine calc()
real a,b,c, x,y
x = xvec(1)
y = xvec(2)
include 'eq.inc'
avec = [a,b,c]
end subroutine
end
咨询公司:
a = 1./2 * x
b = -1./2 * x
c = 1./2 * y
$Gfortran Calc.f90&/a输出
0.500000000 0.00000000
-0.500000000 -0.00000000
0.00000000 0.500000000