Python 没有正确计算方程

标签 python numpy graphing

我正在尝试编写一个简单的程序来绘制 x对比y .但是,它似乎没有计算出 y 的正确值。 .

例如在第一种情况下 x = -1 e^(x^2/2 - x) -1 的值应该是 3.48 ,而是返回 1 .

我遇到的另一个错误是它似乎没有绘制 x对比y , 而不是为 x 的每个值单独一行.

import numpy as np
import math
import matplotlib.pyplot as plt

x = np.arange(-2, 2)
y = np.arange(-2, 2)

for i in range(-3, 3):
    y[i] = math.exp(( x[i]^2/2 ) - x[i])-1

print x, y
plt.plot([x, y])
plt.show()

最佳答案

内置的 numpy 数组操作非常适合这个。

这是你想要的行:

 y = np.exp(np.power(x, 2)/2 - x) - 1

然后完整代码变为

import numpy as np
import math
import matplotlib.pyplot as plt

x = np.arange(-2, 2)

y = np.exp(np.power(x, 2)/2 - x) - 1


print(x, y)
plt.plot(x, y)
plt.show()

(注意,这里的plot语句也有变化)

详情

如果您在使用 numpy 时开始编写循环,请寻找其他方法。矢量运算可以比相应的 python 代码快得多(有时快几个数量级),这就是人们喜欢它的原因。许多基本操作(+-*/**) 甚至重载。查看“引用”部分中的最后一项以获取更多信息。

引用资料

关于Python 没有正确计算方程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32869206/

相关文章:

R + ggplot : Time series with events

r - 如何将轴放在图形后面?

python - 将函数应用于类的所有实例

python - Pandas 变频

python - 类型错误 : 'list' object is not callable: why?

python - 为什么 numpy 说这个矩阵*有时*是奇异的?

python - pyinstaller 无法与 pyvis 网络一起使用

python - 比较两个列表以返回一个列表,其中所有元素都为 0,但保持索引匹配的元素除外?

python - Keras 模型通过编译但在运行时因值错误而崩溃

javascript - 与 GWT 应用程序一起使用的好的 Javascript 图形库是什么?