这个代码结构是否正确?

时间:2014-04-09 17:32:32

标签: fortran newtons-method

我一直试图让Newton-Raphson方法起作用,但经过多次尝试都没有成功。实际上我没有错误,但方法不会收敛。误差减小到一定程度,如1.e-8,并且它仍然在这个范围内。

说明:

  1. 所有参数都是在本地定义的。在任何地方都使用隐含的无语句。
  2. Newton-Raphson方法在子程序main中实现,由程序调用。
  3. 我现在想知道代码结构是否正确。以下是代码的大纲:

    module mod_1
    
    subroutine sub_1(input_1,input_2,output_1)
    ...
    end subroutine
    
    subroutine sub_2(input_1,input_2,output_2)
    ...
    end subroutine
    
    function f_1(input_1,input_2)
    !declarations
    call sub_1(input_1,input_2,output_1)
    
    call sub_2(input_1,input_2,output_2)
    !and other statements
    end function
    
    end module
    
    subroutine main(input_1,input_2,output_3)
    
    use mod_1
    
    ! using the subroutines and functions in mod_1
    ! here the Newton-Raphson method is implemented.
    end subroutine
    

    此外,我在某处读到频繁使用子程序或函数(在我的代码中就是这种情况)会导致收敛速度慢或收敛失败。过度使用例程调用会导致不准确的结果吗?!!

0 个答案:

没有答案