牛顿迭代法解非线性方程组

目录

1.牛顿迭代法解单个非线性方程

1.1 用泰特公式数学推导​编辑

1.2 例题求解

1.3    java 代码示例

2.牛顿迭代法解非线性方程组

2.1 数学推导牛顿迭代法解非线性方程组

2.2通过同一个实例解题

 2.3 方程组代码

简介

         牛顿迭代法(Newton's method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。

1.牛顿迭代法解单个非线性方程

1.1 用泰特公式数学推导

 

    迭代逼近零点的真值 

         迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程,跟迭代法相对应的是直接法(或者称为一次解法),即一次性解决问题。迭代算法是用计算机解决问题的一种基本方法。它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。

1.2 例题求解

比如下面的方程组

                                e^x - y^2 = 0
                                2x + 5*y^2  =0  

消元y后

为                              e^x+2/5x=0

就可以用牛顿迭代法解题,当然先要给定或者找出一个自变量范围,然后设定一个初值开始跌代。

笔算

       如果初值合适,第二次迭代精确度就足够高了。

 

1.3    java 代码示例

public static double sqrt(double c) {
 
    if (c < 0) {
        return Double.NaN;
    }
 
    double err = 1e-15;
    double t = c;
 
    while ((Math.exp(t)+0.4*t)/(Math.exp(t)+0.4) > err * t) {
        t = t-(Math.exp(t)+0.4*t)/(Math.exp(t)+0.4)
    }
 
    return t;
}

2.牛顿迭代法解非线性方程组

2.1 数学推导牛顿迭代法解非线性方程组

         将解单个非线性方程的方法推广, 解非线性方程组的核心思路是构造了一个多元的矩阵函数F(x)=0,这个矩阵函数的自变量是也是一个矩阵。

 

 

2.2通过同一个实例解题

e^x - y^2 = 0
2x^2 + 5*y^2  =0  

构造矩阵函数F(x)=0,采用牛顿迭代法和雅可比矩阵的解法。

        要点是求出雅可比矩阵,并且先对矩阵化简减少计算量。

笔算

如果初值合适,第二次迭代精确度就足够高了,且同时对x,y两个未知数一起迭代

 2.3 方程组代码

方程组的解法代码更复杂,代码水平太差,后面回来再补上。 

一起加油!

  • 4
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Newton法,也叫牛顿切线法,是求解非线性方程组的一种常用方法。该方法基于牛顿-拉弗森迭代思想,通过不断逼近方程的根,从而找到方程组的解。 假设我们有一个非线性方程组: f₁(x₁, x₂, ..., xn) = 0 f₂(x₁, x₂, ..., xn) = 0 ⋮ fn(x₁, x₂, ..., xn) = 0 首先,需要初始化方程组的解,通常选择一个初始猜测值 x^(0) = (x₁^(0), x₂^(0), ..., xn^(0))。 然后,通过求解方程组的雅可比矩阵 J 和残差向量 r 来进行迭代。雅可比矩阵 J 是由方程组的偏导数组成的矩阵,定义如下: J = [∂f₁/∂x₁, ∂f₁/∂x₂, ..., ∂f₁/∂xn] [∂f₂/∂x₁, ∂f₂/∂x₂, ..., ∂f₂/∂xn] ⋮ [∂fn/∂x₁, ∂fn/∂x₂, ..., ∂fn/∂xn] 残差向量 r 是由方程组的每个方程的函数值组成的向量,定义如下: r = [f₁(x₁, x₂, ..., xn)] [f₂(x₁, x₂, ..., xn)] ⋮ [fn(x₁, x₂, ..., xn)] 接下来,我们可以使用如下公式进行迭代计算: x^(k+1) = x^(k) - (J^(k))^(-1) * r^(k) 其中,x^(k) 表示第 k 次迭代的解向量,r^(k) 表示第 k 次迭代的残差向量,J^(k) 表示第 k 次迭代的雅可比矩阵。 迭代过程会不断进行,直到达到预设的收敛条件,通常是判断残差向量的范数是否足够小。 需要注意的是,Newton法求解非线性方程组依赖于初始猜测值的选择,不同的初始猜测值可能导致不同的解。因此,为了避免陷入局部最优解,通常会尝试不同的初始猜测值,并对迭代过程进行控制和优化。 总之,Newton法通过迭代求解线性方程组来逼近非线性方程组的解,具有收敛速度快的优点,但也需要谨慎选择初始猜测值和收敛条件。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值