问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

牛顿法求解二元方程组的计算器

创作时间:
作者:
@小白创作中心

牛顿法求解二元方程组的计算器

引用
1
来源
1.
http://www.mathforengineers.com/chinese/multivariable-calculus/Newtons-method-calculator-for-system-of-two-equations.html

牛顿法求解二元方程组的计算器

本文提供了一个交互式计算器,使用牛顿法[1]近似求解两个变量的方程组。计算器近似求解方程组的解(如果存在),并提供每次迭代的所有值表格,便于教学使用。

牛顿法求解方程组

牛顿法是一种数值方法,通过迭代从一个近似解开始,找到方程的根。当处理方程组时,该方法自然扩展为考虑雅可比矩阵及其行列式。

单变量牛顿法

假设我们需要求解以下方程 [ f(x) = 0 ] 泰勒展开式 ( f(x+\Delta x) ) 为 [ f(x+\Delta x) \approx f(x) + \Delta x f'(x) ] 现在我们解 ( f(x+\Delta x) = 0 ),得到 [ f(x) + \Delta x f'(x) = 0 ] 得到 [ \Delta x \approx - \dfrac{f(x)}{f'(x)} ] 假设我们知道方程根的一个近似值 ( x_n ),则近似根 ( x_{n+1} ) 定义为 [ \Delta x = x_{n+1} - x_n ] 可以表示为 [ x_{n+1} \approx x_{n} - \dfrac{f(x)}{f'(x)} ]

方程组与雅可比矩阵

考虑一个含有两个变量 ( x ) 和 ( y ) 的方程组: [ \begin{align*} f(x, y) &= 0 \ g(x, y) &= 0 \end{align*} ] 该系统的雅可比矩阵 ( J ) 表示为: [ J = \begin{bmatrix} \frac{\partial f}{\partial x} & \frac{\partial f}{\partial y} \ \frac{\partial g}{\partial x} & \frac{\partial g}{\partial y} \end{bmatrix} ]

牛顿法的更新公式

牛顿法用于方程组的更新公式为: [ \begin{aligned} \Delta x &= \frac{-f \cdot g_y + g \cdot f_y}{\text{D}} \\ \Delta y &= \frac{-g \cdot f_x + f \cdot g_x}{\text{D}} \end{aligned} ] 因此 [ \begin{aligned} x_{n+1} &\approx x_n + \frac{-f \cdot g_y + g \cdot f_y}{\text{D}} \\ y_{n+1} &\approx y_n + \frac{-g \cdot f_x + f \cdot g_x}{\text{D}} \end{aligned} ] 其中 ( f ) 和 ( g ) 是在当前 ( (x_n, y_n) ) 处评估的函数。

( f_x, f_y, g_x, g_y ) 是函数 ( f ) 和 ( g ) 对 ( x ) 和 ( y ) 的偏导数。

(\text{D} = f_x \cdot g_y - f_y \cdot g_x) 是雅可比矩阵的行列式。

迭代过程

牛顿法通过上述公式迭代更新变量 ( x ) 和 ( y ),直到满足停止准则为止。常见的停止准则包括:

收敛容差:当连续迭代之间的差异小于某个阈值时停止。

最大迭代次数:达到最大迭代次数时停止。

  1. 初始化:从 ( x ) 和 ( y ) 的初始猜测值开始: 获得接近方程组解的初始猜测值的一种方法是绘制 ( f(x,y) ) 和 ( g(x,y) ) 的图形,近似它们的交点,并使用它们作为初始猜测值。

  1. 评估函数及其导数:计算当前 ( (x, y) ) 处的 ( f(x, y) )、( g(x, y) ) 及其偏导数。

  2. 计算行列式:计算雅可比矩阵的行列式。

  3. 更新变量:使用牛顿法更新公式计算 ( \Delta x ) 和 ( \Delta y )。

  4. 迭代:使用 ( \Delta x ) 和 ( \Delta y ) 更新 ( x ) 和 ( y ),并重复直到达到收敛条件或最大迭代次数。

  5. 容差 ( \epsilon ) 用于测试 ( f(x,y) ) 和 ( g(x,y) ) 的绝对值如下:

当 ( |f(x,y)| \lt \epsilon ) 和 ( |g(x,y)| \lt \epsilon ) 时,迭代过程停止。

  1. 计算器一次近似一个解。

牛顿法为求解两个变量方程组提供了一种强大而高效的方法,前提是初始猜测值足够接近实际解,并且函数在解的邻域内可微。

计算器

输入 ( f(x, y): )x^2+(y-2)^2-exp(x+y)

输入 ( g(x, y): )2*(x+1)^2 + 5y^2 +xy - 22

( x ) 的初始猜测值:-1.5

( y ) 的初始猜测值:2

容差:( \epsilon )0.0001

最大迭代次数:100

求解

结果

迭代次数 ( x ) ( y ) ( f(x, y) ) ( g(x, y) )

更多参考文献和链接

《大学微积分 - 早期超越》- Joel Hass, Maurice D. Weir, George B. Thomas, Jr., Christopher Heil - ISBN-13 : 978-0134995540

《微积分》- Gilbert Strang - MIT - ISBN-13 : 978-0961408824

《微积分 - 早期超越》- James Stewart - ISBN-13: 978-0-495-01166-8

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号