fortran 坐标函数 f(x)

问题描述

我需要在 FORTRAN 90 中进行一些数学计算。为此,我需要使用其他函数的坐标函数。下面的例子

program test1
implicit none
    integer :: i,Nend
    double precision :: step,a,b
    double precision,dimension(:),allocatable :: t

    Nfim = 10
    a = 0.d0
    b = 1.d0
    step = (b-a)/Nend

    allocate(t(0:Nfim))
    t(0) = a
    do i=0,Nfim
        t(i+1) = t(i) + step
        write(*,*) i,t(i),f(t(i)),g(t(i))
    end do

contains
    function f(x)
        implicit none
        double precision :: f
        double precision,dimension(2) :: f
            f(1) = x-1.d0
            f(2) = 2.d0*x
        return
        end function

    function g(x)
        implicit none
        double precision :: x,g
            g = f(1)(x)+2.d0*f(2)(x)
        return
        end function
end program

我的提示我有回报

34 |     g = f(1)(x)+2.d0*f(2)(x)
   |           1
Error: Invalid character in name at (1)

我确实明白在 f(...) 中 ''...'' = x 而不是 ''...'' = 1。我不喜欢使用 f1,因为在我的程序函数 f 的维度是可变的,程序将适用于其他情况,这将节省我一些时间。你能帮助我吗?暂时谢谢你!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)