我尝试了以下代码,但在日志中收到了警告消息:
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')
答案 0 :(得分:0)
您在函数log()
中添加了一个负值(对数)。这在数学上是未定义的,因此您会收到错误消息。
也许您想要x = np.linspace(0, np.e, 100)
。对于0
,np.log()
返回-inf
,这可能会在以后引起问题,但至少在现在还没有。
否则,让您的间隔从1e-40
开始或类似的开始。为此,no.log()
将返回适当的值(例如-50或类似值)。