I'm getting an error <string>:149: RuntimeWarning: invalid value encountered in sqrt while generating a list

你说的曾经没有我的故事 提交于 2019-12-22 04:51:39

问题


def ellipse(numPoints, genX=np.linspace, HALF_WIDTH=10, HALF_HEIGHT=6.5):
    xs = 10.*genX(-1,1,numPoints)
    ys = 6.5*np.sqrt(1-(xs**2))
    return(xs, ys, "-")

I am getting an error that states that an invalid value was encountered in a squareroot. I can't see what it is.

sqrt(0) = 0
6.5*sqrt(1- (-1**2)) = 0

They should work, but the y values are having problems, they are returning "nan"


回答1:


probably xs**2 returns a number > 1 sqrt with negative number will return nan (not a number)

>>> import numpy as np
>>> np.sqrt(-1)
nan

If i am right numpy provides complex numbers functionality which i think is the only way to represent sqrt(x) where x<0



来源:https://stackoverflow.com/questions/22949917/im-getting-an-error-string149-runtimewarning-invalid-value-encountered-in

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!