2024.06.05

【题目描述】编写程序,使用牛顿迭代法求方程
图片1.png
在x附近的一个实根。
【练习要求】请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释。
【输入格式】请在一行中输入方程系数a、b、c、d和实数x,数据中间以空格为间隔。
【输出格式】对每一组输入的数据,输出牛顿迭代法求出的实根(格式为保留小数点后2位,四舍五入)。
【输入样例】1.0 2.0 3.0 4.0 1.0
【输出样例】-1.65

复制代码
from math import fabs

def solut(a,b,c,d,e):
    x1=e
    # 迭代:
    while True:
        x=x1
        f = ((a * x + b) * x + c) * x + d #原函数
        f1 = (3 * a * x + 2 * b) * x + c #求导的函数
        x1 = x - f / f1
        if (fabs(x1 - x) <= 0.00000001):
            return x1
num = [float(n) for n in input('').split()]
print(("%0.2f")%(solut(num[0],num[1],num[2],num[3],num[4])))
 
 
posted @ 2024-06-12 14:35  new菜鸟  阅读(7)  评论(0)    收藏  举报