(一)直接迭代

数学描述:

代码实现:

/***@name Equation_iteration:方程求根的迭代法*@param1 x0:初始值
**/
double Equation_iteration(double x0)
{double xk=x0;double xk1;double error=100;while(fabs(error)>1e-4){xk1=function(xk);error=xk1-xk;xk=xk1;cout<<"the iteration result is "<<xk1<<endl;}return xk1;
}

(二)利用加权平均进行迭代加速

数学公式:
注意:
这里加权中用的系数只跟x0有关

代码实现:

/***@name Equation_iteration_weighting:带加权加速的迭代法*@param1 x0:
**/
double Equation_iteration_weighting(double x0)
{double xk=x0;double xk1;double error=100;double L=function_diff(x0);while(fabs(error)>1e-4){xk1=1/(1-L)*(function(xk)-L*xk);error=xk1-xk;xk=xk1;cout<<"the iteration result is "<<xk1<<endl;}return xk1;
}

(三)松弛法实现迭代加速

数学公式:
注意:
这里的松弛因子随每一次的xk而发生变化

代码实现:

/***@name Equation_iteration_weighting:松弛加速的迭代法*@param1 x0:
**/
double Equation_iteration_loose(double x0)
{double xk=x0;double xk1;double error=100;double wk;while(fabs(error)>1e-4){//先求出wk,防止出现除0if(function_diff(xk)!=1)wk=1/(1-function_diff(xk));elsewk=1;//松弛迭代xk1=wk*function(xk)+(1-wk)*xk;error=xk1-xk;xk=xk1;cout<<"the iteration result is "<<xk1<<endl;}return xk1;
}

(四)埃特金加速迭代方法

数学公式:
注意:
这里利用两次迭代去替换导数值

代码实现:

/***@name Equation_iteration_Aitken:埃特金加速的迭代法*@param1 x0:
**/
double Equation_iteration_Aitken(double x0)
{double xk=x0;double xk1;double xk2;double compensate;double error=100;while(fabs(error)>1e-4){xk1=function(xk);xk2=function(xk1);//计算补偿if(fabs(xk2-2*xk1+xk)>1e-4)compensate=pow(xk2-xk1,2)/(xk2-2*xk1+xk);elsecompensate=0;//这里用的是xk2,再对其进行补偿xk1=xk2-compensate;error=xk1-xk;xk=xk1;cout<<"the iteration result is "<<xk1<<endl;}return xk1;
}

数值计算方法(五)——迭代法求方程根相关推荐

  1. 计算方法之迭代法求方程根

    /************************ * 用迭代法求方程 * f(x)=e^(-x)-x+1=0 * 的根 *************************/ #include< ...

  2. Python趣味算法入门 - 牛顿迭代法求方程根

    问题描述 编写用牛顿迭代法求方程根的函数.方程为,系数a,b,c,d由主函数输入,求x在1附近的一个实根.求出根后,由主函数输出. 牛顿迭代法的公式:,设迭代到  时结束. 分析 在网上可以找到很多关 ...

  3. 100个python算法超详细讲解:牛顿迭代法求方程根

    1.问题描述 编写用牛顿迭代法求方程根的函数.方程为ax 3 +bx 2 +cx+d=0,系数a. b.c.d由主函数输入,求x在1附近的一个实根.求出根后,由主函数输出. 2.问题分析 牛顿迭代法是 ...

  4. c语言 迭代法求方程的根,编写用牛顿迭代法求方程根的函数

    问题描述: 编写用牛顿迭代法求方程根的函数. 方程为:a*x^3 + b*x^2 + c*x + d = 0,系数a,b,c,d由主函数输入. 求x在1附近的一个实根.求出根后,由主函数输出. #in ...

  5. python算法1.3牛顿迭代法求方程根

    1.问题描述 编写用牛顿迭代法求方程根的函数.方程为ax3x^3x3+bx2x^2x2+cx+d=0,系数a.b.c.d由主函数输入,求x在1附近的一个实根.求出根后,由主函数输出. 牛顿迭代法的公式 ...

  6. 用牛顿迭代法求方程的根matlab,牛顿迭代法求方程根的MATLAB程序

    function [x_reality,n_reality] = Newt( f_name,x_start,tolerance,n_limit) %% %牛顿迭代法(切线法)求解方程f_name = ...

  7. 牛顿迭代法例题 matlab,牛顿迭代法求方程根的MATLAB程序

    function [x_reality,n_reality] = Newt( f_name,x_start,tolerance,n_limit) %% %牛顿迭代法(切线法)求解方程f_name = ...

  8. matlab求方程实根,简单迭代法求方程根的MATLAB程序

    function [x_reality,n_reality] = Simple_stepit( f_name,x_start,tolerance,n_limit) %% % 简单迭代法(也叫不动点迭代 ...

  9. 牛顿迭代法 求方程根

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

  10. 不动点迭代法求方程根

    不动点 可以改写成等价的形式.若满足,则.反之亦然,我们称为函数的一个不动点,求f(x)的零点就等价于求g(x)的不动点,选择一个初始近似值,将其带入右端,即,反复迭代之后得到 ,g(x)称为迭代函数 ...

最新文章

  1. matlab 数据集制作,机器学习数据集制作与划分MATLAB实现
  2. python答题系统的代码_Python考试系统自动答题(教务处)
  3. 手动建库11.2.0.4
  4. python代码获取每一天在一年中出现的次数(星期)
  5. java调用权报表的代码_ireport5.6使用table组件,如何用table显示javaBean数据源
  6. 2018 中国准独角兽 TOP 50 夏榜发布!146 家投资机构、227 家企业参与
  7. onmounted vue3_基于项目时间阐述vue3.0新型状态管理和逻辑复用方式
  8. new file会创建文件吗_Rust 文件系统处理之文件读写 Rust 实践指南
  9. jquery复选框组清空选中的值_防火墙基本配置:配置策略组
  10. java string范围_字符串索引超出范围? (Java,子字符串循环...
  11. 【Bug】解决 java.sql.SQLSyntaxErrorException 异常
  12. 利用Linux系统生成随机密码的8种方法
  13. 简单网页-------课程表
  14. Springboot拼接实体类里面的URL
  15. \t \n \n\t在python中的用法
  16. 爬虫开发04--代理IP
  17. 人工智能(Machine Learning)—— 机器学习
  18. 计算机刚开始学什么时候,新手如何开始学电脑 新手学电脑从何入门
  19. Codeforces Round #406 (Div. 1) A. Berzerk 记忆化搜索
  20. 目前最流畅的android手机,买安卓手机请认准这五个最流畅的系统

热门文章

  1. 推荐系统学习(二)基于用户/物品的协同过滤算法(User-CF / Item-CF)
  2. Centos7 修改、更换源
  3. 解决file.seek()读取文件报错:AttributeError: ‘str‘ object has no attribute ‘seek‘
  4. jquery 父元素相邻元素_Jquery中几种查找节点的方法
  5. CAS客户端认证流程
  6. 第四次scrum冲刺
  7. Oracle数据库SqlLoad常用技巧总结word版
  8. python, 面向对象编程Object Oriented Programming(OOP)
  9. 在Windows上安装MySQL5.7
  10. 【TypeScript】TypeScript 学习 3——类