C:\ ProgramData \ Anaconda3 \ lib \ site-packages \ ipykernel_launcher.py:8:RuntimeWarning:日志中遇到无效值

时间:2018-10-05 10:41:32

标签: python

我尝试了以下代码,但在日志中收到了警告消息:

C:\ProgramData\Anaconda3\lib\site-packages\ipykernel_launcher.py:8: RuntimeWarning: invalid value encountered

这是什么?我该如何解决这个问题?

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-np.e, np.e, 100)

plt. plot(x, np.exp(x), '-')

plt. plot(x, np.log(x), '-')

plt.legend(('y=e^x', 'y=lnx'))
plt. xlabel('x')
plt. ylabel('y')

a = plt.gca()
a.spines['bottom'].set_position('zero')
a.spines['left'].set_position('zero')

a.spines['top'].set_color('None')
a.spines['right'].set_color('None')

1 个答案:

答案 0 :(得分:0)

您在函数log()中添加了一个负值(对数)。这在数学上是未定义的,因此您会收到错误消息。

也许您想要x = np.linspace(0, np.e, 100)。对于0np.log()返回-inf,这可能会在以后引起问题,但至少在现在还没有。

否则,让您的间隔从1e-40开始或类似的开始。为此,no.log()将返回适当的值(例如-50或类似值)。