我正在尝试使用matplotlib在python中的Jupyter笔记本中绘制一个函数。我的代码如下。我不明白为什么我收到错误消息,该消息指的是带有公式的行y = ... 这是我的代码:
d = [ ]
e = [ ]
for x in range(-4, 4, 1):
y= -16(x**2)+20(x)+50
d.append(x)
e.append(y)
fig= plt.figure()
axes=fig.add_subplot(111)
axes.plot(d,e)
plt.show()
答案 0 :(得分:0)
在python中,乘法是通过星号2 * 2
或2*(2*4)
完成的。
因此有问题的行应该阅读
y= -16*(x**2)+20*x+50
请注意,您通常会使用numpy来处理此类事情。
import numpy as np
x = np.linspace(-4, 4)
y= -16*(x**2)+20*x+50
import matplotlib.pyplot as plt
fig= plt.figure()
ax=fig.add_subplot(111)
ax.plot(x,y)
plt.show()
答案 1 :(得分:0)
罪魁祸首是:
y= -16(x**2)+20(x)+50
您编写-16(..)
和20(..)
但这是调用函数的语法(如sin(2)
)。所以Python的目标是“调用”16
,但这失败了。
你可以通过在两者之间写下星号(*
)来解决它:
y= -16*(x**2) + 20*x + 50
或者:
y= -16*x*x + 20*x + 50
虽然语法看起来有点类似于数学,但也存在一些差异。例如,花括号({}
)用于集和词典,方括号([]
)用于列表和索引。
答案 2 :(得分:0)
问题是由于()与函数/方法调用相关联,而不是您可能习惯于纸上的简单乘法。
将该行修改为:
y= -16 * (x**2) + 20 * (x) + 50