python - math.sqrt() ValueError: 数学域错误
问题描述
我试图用 matplotlib 和微积分绘制图表,但我的 f(x) 函数的 math.sqrt() 不起作用。我需要平方根 2*x-1。如代码所示
import matplotlib.pyplot as plt
import math
def f(x):
return math.sqrt(2*x-1)
plt.plot([0, 1, 2, 3, 4], [f(0), f(1), f(2), f(3), f(4)])
plt.show()
它给出了一个错误,说 ValueError: math domain error。我不确定如何以正确的方式进行/修复
解决方案
这不起作用,因为您试图找到负数的根,从数组中删除“0”可以让代码无错误地运行。
推荐阅读
- c++ - 用螺旋填充二维数组
- android-studio - android studio“编辑器”速度极慢
- python - Enumerate() 函数或类?
- python - 多索引上的前向填充(ffill)
- c# - 如何在第二台计算机上修复不同的十进制设置 C#
- javascript - 尽管使用了 target="_blank",但 React Markdown 链接不会在新选项卡中打开
- linux - 像 PGAdmin 这样的 Oracle Web Tool 用于 Linux 安装?
- http - Golang 大响应 JSON 输入意外结束
- nagios - Nagios 核心摘要宏的计数错误
- eclipse - Jboss 6.1 Eclipse 4.19.0 集成