方程式
这个链接指向我试图在matplotlib中绘制的方程的图片
from matplotlib import pyplot as plt
import numpy as np
x_values = np.arange(1, 10, step=0.1)
y_values = (np.arcsin(np.sqrt(abs(np.sin(x_values) ** (abs(np.cos(x_values)) + abs(np.sin(x_values)) + (2.718281828459045** np.sin(x_values)))))) - x_values)/x_values
上面的代码抛出以下错误消息:
ipykernel_launcher.py:4: RuntimeWarning: invalid value encountered in power
after removing the cwd from sys.path.
我没有进行绘图,因为这段代码本身就会抛出一条错误消息,我该如何修复这个问题呢?
numpy
不允许负数的小数幂,因为它需要复杂的结果,而您没有定义复杂类型。 您可以这样检查您的电源阵列:
pow = abs(np.cos(x_values)) + abs(np.sin(x_values)) + (2.718281828459045** np.sin(x_values))
a = np.sin(x_values)
并使用如下的变通方法:
a_pow = np.sign(a) * (np.abs(a)) ** (pow)
y_values = (np.arcsin(np.sqrt(abs(a_pow))) - x_values)/x_values
但要事先确定,你并没有期待复数作为结果!
如果这样做,请将数组dtype
更改为np.complex
。