我试图在 Gummel 循环中自洽地求解两个非线性方程。有时(每隔一段时间),当循环以错误的解决方案重复自身并且某个错误仍然存在时,我会遇到这种情况。作为一个简单的示例,请考虑以下两个等式:
并假设循环达到对于第一个方程的输入,这导致用于第二个方程的输入。这导致对于第一个方程的输入,导致,并且情况会重演(当然,不会收敛到正确的解决方案)。
我想知道是否有关于这个特定问题以及导致这种行为的方程属性的良好和全面的参考。此外,一般而言,避免此类困难的最佳方法是什么?
我试图在 Gummel 循环中自洽地求解两个非线性方程。有时(每隔一段时间),当循环以错误的解决方案重复自身并且某个错误仍然存在时,我会遇到这种情况。作为一个简单的示例,请考虑以下两个等式:
我想知道是否有关于这个特定问题以及导致这种行为的方程属性的良好和全面的参考。此外,一般而言,避免此类困难的最佳方法是什么?
一般来说,迭代方法不需要收敛。这通常在数值分析教科书中与非线性求根有关(例如,这里是 Isaacson 和 Keller 的《数值方法分析》,第 85 页)。
您正在迭代函数
为了使迭代方法成功,根据标准定理,初始猜测位于(或最终收敛到)一个区间内的值就足够了围绕一个根,使得对于每个. 自从, 我们可以看到在根附近()。这意味着每个根都是不稳定的:对于每个根,保证初始猜测收敛的围绕它的区间是空的。如果您从已经接近根的初始猜测开始,这种不稳定的行为更容易看到,, 代替.
例如,可以通过以恰好导致稳定根的等效形式重写方程来解决这个问题。