python迭代法求解方程_第一部分:趣味算法入门;第六题牛顿迭代法求一元三次方程的根...
100个不同类型的python语言趣味编程题
在求解的过程中培养编程兴趣,拓展编程思维,提高编程能力。
第一部分:趣味算法入门;第六题SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
'''
6.牛顿迭代法求方程的根:方程为:ax**3 + bx**2 + cx + d = 0,系数a,b,c,d由主函数输入。
求x在1附近的一个实根。求出根后,由主函数输出。
牛顿迭代法的公式是:x = x0 - f(x0)/f'(x0) 设迭代到|x-x0|<=10**-5时结束。
'''
#解题方法示例如下;
#输入方程的系数
a = int(input('请输入a的值:'))
b = int(input('请输入b的值:'))
c = int(input('请输入c的值:'))
d = int(input('请输入d的值:'))
#用牛顿迭代法求方程的根
x = 1.5
i =1 #随机定义一个i的值,是其能够进入while循环语句
while i >= 1e-5: #(1e-5 = 10**-5)
x0 = x #用所得的x代替x0原来的值
f = ((a*x0+b)*x0+c)*x0 +d #f用来描述方程的值
fd = (3*a*x0 + 2*b)*x0 +c #fd用来描述方程求导之后的值
x = x0 - f/fd #求得更接近方程根的x的值
i = abs(x - x0)
#输出所求方程的根
print('方程的一个根为:{:7f}'.format(x)) #format的格式化输出,输出保留7位小数的浮点数。
#解本问题有多种方法,此方法并不是标准答案,读者可以自己尝试各种方法
问题分析:
牛顿迭代法是取x0之后,在这个基础上,找到比x0更接近的方程的根,一步一步迭代,从而找到更接近方程的近似根。
设r是f(x)=0的根,选取x0作为r的初始近似值。过点(x0, f(x0))作为曲线y = f(x)的切线L,L的方程为y = f(x0) +f‘(x0)(x-x0),求出L于x轴交点的横坐标x1 = x0 -f(x0)/f’(x0),称x1为r的一次近似值,过点(x1, f(x1))作为曲线y = f(x)的切线并求改切线于x轴的横坐标x2 = x1 -f(x1)/f’(x1),称x2为r的二次近似值,重复以上过程,得r的近似值xn。上述即为牛顿迭代法的求解过程。
算法设计:
在1附近找任意一实数作为x0的初值,我们去1.5,即x0 = 1.5.
用初值x0带入方程中计算此时的f(x0)及f'(x0);程序中f用来描述方程的值,fd用来描述方程求导之后的值。
计算增量h=f/fd。
计算下一个x (x = x0-h)。
用所得的x代替x0原来的值。
若|x - x0|>=1e-5,则转到第三步继续执行,否则转到步骤7
所求x就是方程的根,将其输出。
如果你喜欢我的文章,请滑到下方点个推荐再走. ,以给我动力哦;转载请注名出处。然后..请多来做客鸭。
注:100个不同类型的python语言趣味编程题是参考100个不同类型的c语言趣味编程题而写,陆续会更新。欢迎大家分享出你们的方案。
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄
×
选择打赏方式:
微信
QQ钱包
支付宝
打赏
打赏
打赏
多少都是心意!谢谢大家!!!
×
选择分享方式:
微信扫一扫,分享朋友圈
Or
手机扫一扫,精彩随身带
python迭代法求解方程_第一部分:趣味算法入门;第六题牛顿迭代法求一元三次方程的根...相关推荐
- python迭代法求解方程_迭代法求解方程(组)的根
首先,迭代法解方程的实质是按照下列步骤构造一个序列x0,x1,-,xn,来逐步逼近方程f(x)=0的解: 1)选取适当的初值x0: 2)确定迭代格式,即建立迭代关系,需要将方程f(x)=0改写为x=φ ...
- python求一元三次方程的根_关于二次、三次、四次方程求解方法讨论
高次方程求解的一般方法是将高次方程通过配方求解,然后进行次数降解,高次方程转化为容易求解的低次方程. 一元二次方程 求解高次方程,一元二次方程是最为简单的方程.关于一元二次方程 ,通过配方法可以求解: ...
- python求一元三次方程的根_初中数学专题复习-方程与方程组
基础知识点: 一.方程有关概念 1.方程:含有未知数的等式叫做方程. 2.方程的解:使方程左右两边的值相等的未知数的值叫方程的解,含有一个未知数的方程的解也叫做方程的根. 3.解方程:求方程的解或方判 ...
- python求一元三次方程的根_【九年级 】知识点8 一元二次方程根的判别式的应用...
知识点8 一元二次方程根的判别式的应用 [题目预览] [视频讲解] [分析点评] 此题考查一元二次方程根的判别式与一元二次方程根的情况,当判别式的值大于0时,方程有两个不相等的实数根,当判别式的值等于 ...
- python求一元三次方程的根_1.七年级数学:求两车多少小时后相遇?一元一次方程应用题,行程相遇问题...
欢迎您来到方老师数学课堂,请点击上方蓝色字体,添加关注.所有的视频内容,全部免费,请大家放心关注,放心订阅. 七年级数学:求两车多少小时后相遇?一元一次方程应用题,行程相遇问题.大家先在草稿本上,认真 ...
- Python趣味算法入门 - 牛顿迭代法求方程根
问题描述 编写用牛顿迭代法求方程根的函数.方程为,系数a,b,c,d由主函数输入,求x在1附近的一个实根.求出根后,由主函数输出. 牛顿迭代法的公式:,设迭代到 时结束. 分析 在网上可以找到很多关 ...
- python计算存款_第一部分:趣味算法入门;第七题:最佳存款方案
这里将告诉您第一部分:趣味算法入门:第七题:最佳存款方案,具体完成步骤:100个不同类型的python语言趣味编程题 在求解的过程中培养编程兴趣,拓展编程思维,提高编程能力. 第一部分:趣味算法入门: ...
- 二分法和简单迭代法的优缺点_二分法和牛顿迭代法求解方程的比较.doc
您所在位置:网站首页 > 海量文档  > 高等教育 > 理学 二分法和牛顿迭代法求解方程的比较.doc5页 本文档一共 ...
- 3.牛顿迭代法求解方程的根
牛顿迭代法求解方程的根 引题:用牛顿迭代法求下列方程在值等于x附近的根: 2 x 3 − 4 x 2 + 3 x − 6 = 0 2x^3-4x^2+3x-6=0 2x3−4x2+3x−6=0 输入: ...
最新文章
- IDC干货:5个维度!全面综合分析我国城市数据中心发展情况
- php swoole环境搭建,windows系统php环境安装swoole具体步骤
- linux加载内核后如何运行app,Android app启动过程
- centos7搭建jenkins小记
- linux修改栈指针x86,为什么x86-64 Linux系统调用会修改RCX,这个值意味着什么?
- Python这五个坑,80%你不知道(对的,五个你知道1个就达到一般水平了)
- 使用artTemplate模板将json转换为html页面
- 【递归,Java从入门到精通第五版pdf百度云
- 面试失败总结,这 577 道 LeetCode 题 Java 版答案你值得拥有
- 105份墨天轮“国产化迁移”精品文档汇总(含TiDB、openGauss、上云等)
- ImageAI (二) 使用Python快速简单实现物体检测 Object Detection
- python抓包超星网课试卷_2020网络数据采集与Python爬虫【带实验】高校邦网课答案...
- 进击ReactNative-徐如林-React源码解析
- 低功耗MCU设计理念
- [论文学习] - 2014ECCV - TCDCN
- java外加IJ-idea的初次学习
- 2021-10-06 求1到100以内的质数
- C语言初学知识准备(Linux方面)
- 什么是继承python_面向对象继承
- 单目多帧自监督深度估计(2021-2022)研究进展