如何从NEQNF中选择正确的数值解?

时间:2015-07-15 16:09:50

标签: fortran numerical-methods imsl

我正在使用我使用

调用的函数(NEQNF manual page here
call neqnf(SYSTEM_OF_EQUATIONS, x, xguess=x_GUESS, itmax = 10000)

其中SYSTEM_OF_EQUATIONS是包含方程

的子程序
f(1)=...x(2)...x(1)...
f(2)=...x(1)...x(4)...
f(3)=...x(3)...x(4)...
f(4)=...x(1)...x(5)...
f(5)=...x(1)...x(5)...

来自Fortran上的IMSL库,它让我能够在五个方程式中解决一个具有五个未知数的非线性系统。因为存在多个解决方案(五个数字,无论是真实的还是复杂的,解决我的系统),我如何选择“使用”哪一对作为解决方案?

我链接了一个已经输入我的系统的在线求解器(在两个方程式中只有两个未知数,其他变量在这个例子中是常数),这很容易向您显示存在多个解决方案。

example

为了结束我的问题,我可以说我必须选择几个让其他变量为正的变量,所以一个简单的检查是选择这对夫妇的方法。

1 个答案:

答案 0 :(得分:1)

我不认为这个问题与编程有关,但我会说明我是如何理解这个问题的。

您提供初步猜测。然后,该方法通过修改牛顿方法收敛到某种解决方案。

您可以通过初始猜测的位置选择根。然而,收敛模式可能非常难以预测(甚至是分形 - https://en.wikipedia.org/wiki/Newton_fractal),并且使用初始猜测选择特定根可能非常困难。