迭代(二):迭代法求方程的根

本文介绍了迭代法在求解方程根中的应用,以C++程序展示了二分迭代法、牛顿迭代法和弦截法的实现过程,包括如何设置初始值、迭代条件和计算新近似根的公式。通过比较牛顿法和弦截法,阐述了它们的收敛性和适用场景。
摘要由CSDN通过智能技术生成

      迭代法是用于求方程或方程组近似根的一种常用的算法设计方法。设方程为f(x)=0,用某种数学方法导出等价的形式x=g(x),然后按以下步骤执行:  

      (1)选一个方程的近似根,赋给变量x0。

      (2)将x0的值保存于变量x1,然后计算g(x1),并将结果存于变量x0。

      (3)当x0与x1的差的绝对值还小于指定的精度要求时,重复步骤(2)的计算。

      若方程有根,并且用上述方法计算出来的近似根序列收敛,则按上述方法求得的x0就认为是方程的根。上述算法用C++程序的形式表示为:  

   x0=初始近似根;  

   do {  

      x1=x0;  

      x0=g(x1);   //  按特定的方程计算新的近似根

      } while ( fabs(x0-x1)>Epsilon);

   cout<<“方程的近似根是”<<x0;

      例如,采用迭代法求方程x=cos(x)一个根的源程序为:

#include <iostream>
#include <cmath>
using namespace std;
int main() {
    float x0,x1=0.0;
    while(1)
    {
          x0=x1;
          x1=cos(x0);
          if (fabs(x0-x1)<1e-6)
              break;
    }
    cout<<"The real root is "<<x1<<endl;
    return 0;
}

【例3】编写一个程序,用迭代法求方程x3-x-1=0在区间[0,2]中的根。

      (1)编程思路1。

      用二分迭代法求解。

      二分迭代法的原理:先取方程f(x)=0的两个粗

  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值