RuntimeWarning:在arccos中遇到无效值

时间:2016-02-10 15:02:56

标签: python numpy trigonometry

我是使用Python的新手,但相处得很好。我一直收到你在下面看到的错误,并且不确定问题究竟是什么,因为我认为价值是正确的和陈述的。您认为问题到底是什么?我试图从t = 0到t = PM绘制图形,下面看到的公式是角度arccos。

无法在线查找此arccos错误的故障排除方法。运行Python 3.5。

import numpy as np
import matplotlib
from matplotlib import pyplot
from __future__ import division

rE = 1.50*(10**11)
rM = 3.84*(10**8)
PE = 3.16*(10**7)
PM = 2.36*(10**6)

t = np.linspace(0, PM, 200)

# anaconda/lib/python3.5/site-packages/ipykernel/__main__.py:1: RuntimeWarning: invalid value encountered in arccos
y = 0.5*(np.arccos(2*(np.pi)*t*((1/PM)-(1/PE))+90))

2 个答案:

答案 0 :(得分:7)

好吧,如果你这样做

np.arccos(90)

(这是你的第一个元素),你会得到同样的警告 - 大大简化你的例子。

为什么? arccos function x cos(x)= 90 。从基本的三位一体,你可以看出no such value

答案 1 :(得分:3)

np.arccos()功能只能在-11之间取值。

请参阅:https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.arccos.html