zoukankan      html  css  js  c++  java
  • 数值分析-非线性方程的数值解法

    二分法

    这个就很简单了

    取区间[x1,x2]   f(x1) * f(x2) < 0

    那么必定有解在此区间中

    取区间中点 xmid

    判断f(x1) * f(xmid) 和 f(x2)*f(xmid)

    这样就能去掉一半的区间

    这样不断迭代下去即可

    不动点迭代

    将f(x)改写为x = Φ(x)

    xk+1 =  Φ(xk)

    不断迭代即可

    对于f(x)往往有不同的转化方式

    有的转化方式收敛,有的转化方式发散

    存在性与收敛性

    若对任意x 属于[a, b],  Φ(x)也属于[a,b]

    存在常数L < 1使得| Φ(x) - Φ(y) | <= L |x - y|

    则Φ(x)在[a, b]上存在唯一的不动点

    |xk - x*| <= (   Lk / (1 - L)  ) * (x- x0)

    |xk - xk-1| <= Lk|x1 - x0|

    牛顿法

    这个就是利用泰勒多项式

    f(x) = f(xk) + f'(xk) * (x - xk)

    令f(x) = 0解得

    xk+1 = xk - f(xk) / f'(xk)

    终止条件

    当|e| < e1 或者 |f1| < e2时终止迭代

    当|x1| < C 时  e = |x1 - x0|

    当|x1| >= C时 e = |x1 - x0| / |x1|

    一般取C = 1

  • 相关阅读:
    校验相关问题
    类型转换和操作符重载 (c#)
    泛型委托Func<string,string>()
    第三次作业 刘惠惠
    刘惠惠1.12
    第二次作业刘惠惠2.6,2.15
    刘惠惠1.8
    第四次作业 刘惠惠
    刘惠惠1.2
    设计模式中的单件模式
  • 原文地址:https://www.cnblogs.com/shensobaolibin/p/10266945.html
Copyright © 2011-2022 走看看