def parabola(h, k, xCoordinates):
ħ 是 该 X 坐标 哪里 该 抛物线 触摸 该 X 轴 和 ķ 是 该 ÿ 坐标 哪里 该 抛物线 相交 该 ÿ 轴 和 xCoordinates 是 一个 名单 的 X 坐标 沿 该 重大的 轴。 该 功能 回报 一个 名单 的 ÿ 坐标 运用 该 方程 显示 下面。 那里 将 是 一 ÿ 坐标 对于 每 X 坐标 在 该 名单 的 X 坐标。
y(x, h, k) = a(x − h)2, where a =k/h2
我知道如何在python中工作,因为我已经计算了区域,
def computeArea(y_vals, h):
i=1
total=y_vals[0]+y_vals[-1]
for y in y_vals[1:-1]:
if i%2 == 0:
total+=2*y
else:
total+=4*y
i+=1
return total*(h/3.0)
y_values=[13, 45.3, 12, 1, 476, 0]
interval=1.2
area=computeArea(y_values, interval)
print "The area is", area
但上面的问题让我很伤心,因为它纯粹的数学,我只是想要一点帮助
答案 0 :(得分:2)
您可以使用**
power operator平方值:
y = (k / h ** 2) * (x - h) ** 2
其中**
取幂的乘法或除法为higher precedence。
因此对于一系列x
坐标,那就是:
def parabola(h, k, xCoordinates):
return [(k / h ** 2) * (x - h) ** 2 for x in xCoordinates]
答案 1 :(得分:1)
Martijn Pieters给出的答案很好。
如果你对这个概念有点挣扎,我发现这个例子很容易理解(使用顶点形式方程式):
x = range(-10,10)
y = []
a = 2 # this is the positive or negative curvature
h = 0 # horizontal offset: make this term +/- to shift the curve "side to side"
k = 0 # vertical offset: make this term +/- to shift the curve "up to down"
for xi in x:
y.append(a * (xi + h)** 2 + k)
您可以使用pylab进行绘图。