1.问题描述
编写用牛顿迭代法求方程根的函数。方程为ax3x^3x3+bx2x^2x2+cx+d=0,系数a、b、c、d由主函数输入,求x在1附近的一个实根。求出根后,由主函数输出。
牛顿迭代法的公式:x=x0-[f(x0)/f'(x0)],设迭代到|x-x0|≤10-5时结束。


具体的设计流程图如下:

注意
编写程序时要注意的一点是判定|x-x0|>=1e-5,许多认为判定条件应该是|x-x0|<1e-5,从牛顿迭代法的原理可以看出,迭代的实质就是越来越接近方程根的精确值,最初给x0所赋初值与根的精确值是相差很多了,正是因为这个我们才需要不断地进行迭代,也就是程序中循环体的功能。在经过一番迭代之后所求得的值之间的差别也越来越小,直到求得的某两个值的差的绝对值在某个范围之内时便可结束迭代。若我们把判定条件改为|x-x0|<1e-5,则第一次的判断结果必为假,这样我们就不能进入循环体再次执行。


代码如下所示:

def solution(a,b,c,d):x=1.5x0=x#f用来描述方程的值,fd用来描述方程求导之后的值f=a*x0*x0*x0+b*x0*x0+c*x0+dfd=3*a*x0*x0+2*b*x0+ch=f/fdx=x0-h#求更接近方程根的x的值while abs(x-x0)>=1e-5:x0=xf=a*x0*x0*x0+b*x0*x0+c*x0+dfd=3*a*x0*x0+2*b*x0+ch=f/fdx=x0-hreturn xprint("请输入方程的系数:")
a,b,c,d=map(float, input().split())
print("方程的参数为:",a,b,c,d)
x=solution(a,b,c,d)
print("所求方程的根为x=%.6f"%x)

结果如图所示:

python算法1.3牛顿迭代法求方程根相关推荐

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

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

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

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

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

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

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

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

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

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

  6. 牛顿迭代法 求方程根

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

  7. C语言每日一练——第154天:牛顿迭代法求方程根

  8. 【Python】Python用牛顿迭代法求方程2x3-4x2+3x-6=0在1.5附近的根。提示:牛顿迭代法求非线性方程的根的迭代公式为x`(n+1)`=x`n`-f(x)/f'(x) 。

    用牛顿迭代法求方程2x3-4x2+3x-6=0在1.5附近的根.提示:牛顿迭代法求非线性方程的根的迭代公式为x(n+1)=xn-f(x)/f'(x) . 算法源码 def f(x): ##原函数ret ...

  9. 用牛顿迭代法求方程的根

    用牛顿迭代法求方程的根(C语言) 题目要求:牛顿迭代法是一种重要的基本的求方程根的方法.现有方程为axˆ3+bxˆ2+cx+d=0,系数a,b,c,d的值一次为1,2,3,4,由主函数输入.求x在1附 ...

最新文章

  1. Ubuntu 16.04 安裝chrome
  2. python数字图像处理(4):图像数据类型及颜色空间转换
  3. JavaScript语法学习
  4. OpenCV 文字绘制——cv::putText详解
  5. MVC采用Jquery实现局部刷新
  6. 熟练掌握CAD制图,能做哪些工作?
  7. 持久化内存+傲腾持久化内存
  8. 从一无所有,到整个世界-梁宁·产品思维30讲
  9. 一篇关于职业选择的好文章
  10. 确定部分分式中待定系数的留数方法
  11. 【技巧】如何搜索公众号内文章
  12. 盘点:文本内容安全领域 深度学习的六个主流应用方法
  13. 外贸人如何快速学好英语
  14. 2022.09青少年软件编程(Python)等级考试试卷(四级)
  15. python 怎么实现3d 动画_python – 使用matplotlib的3D动画
  16. 人脸识别与美颜算法实战-基于机器学习的人脸识别
  17. 定义了Circle圆形类,在此基础上派生出Cylinder圆柱体类。 Circle圆形类定义如下: class Circle { public: Circle(double r):radius(r
  18. CES生产函数中参数的意义
  19. mt4查看虚拟服务器,mt4 如何查看服务器地址
  20. golang go doc 与 godoc 文档生成查看

热门文章

  1. 设计师选择自由职业好还是全职工作好
  2. 蓝牙和WiFi共存技术2 -----
  3. android装备选择,原神迪卢克武器怎么选_原神迪卢克武器选择推荐
  4. python csv、json、pickle数据持久化
  5. mybatis框架(1)
  6. c 语言返回数组,c语言返回数组 - LIU-X1001的个人空间 - OSCHINA - 中文开源技术交流社区...
  7. ant-design-vue的时间选择器中英文混合问题
  8. 过年扫五福,干脆我用Python做一个五福生成器
  9. 期货快要爆仓了怎么办?
  10. 手机电子邮件如何绑定公司企业邮箱