python0011

编写程序,使用牛顿迭代法求方程在x附近的一个实根
复制代码
def solution(a, b, c, d):
    x = 1.5
    x0 = x
    f = a * x0**3 + b * x0**2 + c * x0 + d
    fd = 3 * a * x0**2 + 2 * b * x0 + c
    h = f / fd
    x = x0 - h
    while abs(x - x0) >= 1e-5:
        x0 = x
        f = a * x0**3 + b * x0**2 + c * x0 + d
        fd = 3 * a * x0**2 + 2 * b * x0 + c
        h = f / fd
        x = x0 - h
 
    return x
 
if __name__ == '__main__':
    print("请输入方程的系数: ")
    a, b, c, d = map(float, input().split())
    print("方程的参数为:", a, b, c, d)
    x = solution(a, b, c, d)
    print("所求方程的根为 x=%.6f" % x)
复制代码

 

posted @   新晋软工小白  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2023-05-22 c语言趣味编程
点击右上角即可分享
微信分享提示