我一直试图让Newton-Raphson方法起作用,但经过多次尝试都没有成功。实际上我没有错误,但方法不会收敛。误差减小到一定程度,如1.e-8,并且它仍然在这个范围内。
说明:
我现在想知道代码结构是否正确。以下是代码的大纲:
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
此外,我在某处读到频繁使用子程序或函数(在我的代码中就是这种情况)会导致收敛速度慢或收敛失败。过度使用例程调用会导致不准确的结果吗?!!