druant 2021-04-24 09:19 采纳率: 0%
浏览 914

Pycharm:OverflowError: (34, 'Result too large')

Traceback (most recent call last):line 24 , in <module>
    deta_h = np.abs(h(b) - h(a))
 

 line 12, in h
    - 0.000888 * 3 * x ** 2 + 0.03487 * 2 * x + 0.00239
OverflowError: (34, 'Result too large')

小白求解,应该怎么改
 

import numpy as np


def f(x):
    return -0.0007348 * x ** 8 - 0.0003244 * x ** 7 + 0.004126 * x ** 6 + 0.001076 * x ** 5 \
           - 0.00814 * x ** 4 - 0.0008882 * x ** 3 + 0.03487 * x ** 2 + 0.002393 * x + 0.1168


def h(x):
    return -0.0007348 * 8 * x ** 7 - 0.0003244 * 7 * x ** 6 + 0.004126 * 6 * x ** 5 \
           + 0.001076 * 5 * x ** 4 - 0.00814 * 4 * x ** 3 \
           - 0.000888 * 3 * x ** 2 + 0.03487 * 2 * x + 0.00239  //这里数据太大怎么解决


a = 113109036.345448  # 初始点(初始横坐标)
step = 1  # (步长)
count: int = 0  # 记录迭代次数
deta_h = h(a)  # a更新前后的差值(初始值设定为起始点,也可以设置为大于阈值的任意的数)
print(deta_h)
error_rate = 1e-5  # 给定的阈值
while deta_h < error_rate:
    b = a - step * h(a)  # 更新a,用新的变量接收

    deta_h = np.abs(h(b) - h(a))                         //这也有问题?
    count += 1
    a = b - step * h(b)
    y = f(b)

    print('迭代次数%d' % count)
    print(a)
    print(y)
    print('极值点为(%f,%f)' % (a, y))
  • 写回答

1条回答 默认 最新

  • Lytofy-lyf 2021-04-24 09:39
    关注

    看看这样满足大小没

    http://www.cocoachina.com/articles/54423

    评论

报告相同问题?

悬赏问题

  • ¥15 镍氢电池充电器设计实物使用原理
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号