RuntimeWarning:在double_scalars应用程序中遇到无效值
发布时间:2022-11-25 23:00:52 所属栏目:应用 来源:网络
导读: 您的代码遇到了“除以零”错误。试着说服自己:
>>> def f(x, y):
... return ((x**(2))*y)/((x**(4))+(y**(4)))
...
>>> I, di = 100, 0.01
>>> x = np.linspace(-I, I, int(I/di) +
>>> def f(x, y):
... return ((x**(2))*y)/((x**(4))+(y**(4)))
...
>>> I, di = 100, 0.01
>>> x = np.linspace(-I, I, int(I/di) +
您的代码遇到了“除以零”错误。试着说服自己:
在上面的交互会话中,当i接受for循环中的值5001时,f(x[i-1], w[i-1])产生nan。这个问题有几种解决办法。例如,为了避免NaN值,可以在执行除法之前检查f()返回的分数分母是否为零。如果是,则应返回您选择的常规值(例如0),而不是除法的结果。下面的代码片段通过实现了这种方法:
或者,您可以通过在脚本中包含以下代码来禁用运行时警告(但如果这样做,则需要注意潜在的风险):
建议的解决方法避免了运行时警告,但没有使代码按预期工作。实际上,计算出的解w是一个所有元素都为零的向量。我想您的代码不能正常工作的原因是您没有将w[0]的初始值分配给0不同的值。 例如应用程序无效,如果只是在For循环之前添加这一行:
你得到的是曲线而不是平面图。 希望这有帮助! (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐