我用下面的代码来绘制根函数:
import pylab
from pylab import *
from matplotlib import pyplot as plt
import numpy as np
def roots(minimo=-5, maximo=5, step=1, potencia=3):
rootsLs=[]
fig = plt.figure()
ax = fig.add_subplot(111)
valor =1.0/potencia
for i in np.arange(minimo,maximo,step):
rootsLs.append((i)**valor)
pylab.plot(rootsLs)
left,right = ax.get_xlim()
low,high = ax.get_ylim()
grid()
#pylab.show()
return rootsLs
但是,当我试图计算负数的立方根时,Idle发出警告
Warning (from warnings module):
File "/media/bidone/calculus/grahphRoots.py", line 18
rootsLs.append((i)**valor)
RuntimeWarning: invalid value encountered in power
对于使用默认值(多维数据集根,范围从-5到5)的调用,返回的列表是[nan, nan, nan, nan, nan, 0.0, 1.0, 1.2599210498948732, 1.4422495703074083, 1.5874010519681994]
。
但是当我计算空闲shell中的,vg,-4**(1.0/3)
时,它不会抱怨并返回正确的答案-1.5874010519681994
。在
怎么了?在
被评估为
^{pr2}$所以权力和责任。根是正数。允许复数计算
注意,一般规则是返回与计算方法一致的最小(正)角的根
复数在哪里
根据jamestobin提供的信息,我重新编写了我的代码,使其与我迄今为止提供的所有输入都能正确工作。 新代码如下:
插入一个
if
语句以获得负输入的绝对值,然后在求幂解决问题后将其转换回负值。在相关问题 更多 >
编程相关推荐