python算法1.3牛顿迭代法求方程根
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牛顿迭代法求方程根相关推荐
- Python趣味算法入门 - 牛顿迭代法求方程根
问题描述 编写用牛顿迭代法求方程根的函数.方程为,系数a,b,c,d由主函数输入,求x在1附近的一个实根.求出根后,由主函数输出. 牛顿迭代法的公式:,设迭代到 时结束. 分析 在网上可以找到很多关 ...
- 100个python算法超详细讲解:牛顿迭代法求方程根
1.问题描述 编写用牛顿迭代法求方程根的函数.方程为ax 3 +bx 2 +cx+d=0,系数a. b.c.d由主函数输入,求x在1附近的一个实根.求出根后,由主函数输出. 2.问题分析 牛顿迭代法是 ...
- c语言 迭代法求方程的根,编写用牛顿迭代法求方程根的函数
问题描述: 编写用牛顿迭代法求方程根的函数. 方程为:a*x^3 + b*x^2 + c*x + d = 0,系数a,b,c,d由主函数输入. 求x在1附近的一个实根.求出根后,由主函数输出. #in ...
- 用牛顿迭代法求方程的根matlab,牛顿迭代法求方程根的MATLAB程序
function [x_reality,n_reality] = Newt( f_name,x_start,tolerance,n_limit) %% %牛顿迭代法(切线法)求解方程f_name = ...
- 牛顿迭代法例题 matlab,牛顿迭代法求方程根的MATLAB程序
function [x_reality,n_reality] = Newt( f_name,x_start,tolerance,n_limit) %% %牛顿迭代法(切线法)求解方程f_name = ...
- 牛顿迭代法 求方程根
牛顿迭代法 牛顿迭代法(Newton's method)又称为牛顿-拉夫逊方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法.多数方程 ...
- C语言每日一练——第154天:牛顿迭代法求方程根
- 【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 ...
- 用牛顿迭代法求方程的根
用牛顿迭代法求方程的根(C语言) 题目要求:牛顿迭代法是一种重要的基本的求方程根的方法.现有方程为axˆ3+bxˆ2+cx+d=0,系数a,b,c,d的值一次为1,2,3,4,由主函数输入.求x在1附 ...
最新文章
- Ubuntu 16.04 安裝chrome
- python数字图像处理(4):图像数据类型及颜色空间转换
- JavaScript语法学习
- OpenCV 文字绘制——cv::putText详解
- MVC采用Jquery实现局部刷新
- 熟练掌握CAD制图,能做哪些工作?
- 持久化内存+傲腾持久化内存
- 从一无所有,到整个世界-梁宁·产品思维30讲
- 一篇关于职业选择的好文章
- 确定部分分式中待定系数的留数方法
- 【技巧】如何搜索公众号内文章
- 盘点:文本内容安全领域 深度学习的六个主流应用方法
- 外贸人如何快速学好英语
- 2022.09青少年软件编程(Python)等级考试试卷(四级)
- python 怎么实现3d 动画_python – 使用matplotlib的3D动画
- 人脸识别与美颜算法实战-基于机器学习的人脸识别
- 定义了Circle圆形类,在此基础上派生出Cylinder圆柱体类。 Circle圆形类定义如下: class Circle { public: Circle(double r):radius(r
- CES生产函数中参数的意义
- mt4查看虚拟服务器,mt4 如何查看服务器地址
- golang go doc 与 godoc 文档生成查看