我现在正在尝试演示一个成本函数,想知道是否存在一种通过在同一子图和图中添加图来遍历抛物线的方法。
def costfuntion(b, a):
# b Value
x = np.linspace(b*(-b), b*(b), 100)
y = (x - a)**2
return y
我的情节尝试:
plt.plot(costfuntion(20,5))
plt.ylabel("Cost Value");
#b = 'some b value'
plt.plot(b, marker='o', color='b')
What I'm trying to mimic (大约1:13)
答案 0 :(得分:1)
由于y
值取决于a
值,因此您需要为a
查找指定y
。请考虑以下内容:
def costfunction(b, a):
# b Value
x = np.linspace(b*(-b), b*(b), 100)
y = (x - a)**2
return x, y
a = 5
c = costfunction(20, a)
plt.plot(c[0], c[1], linestyle='-', linewidth=1)
plt.ylabel("Cost Value");
b = 100
yb = (b - a)**2 # Find the corresponding y-value
plt.plot(b, yb, marker='o', color='b')
plt.show()
这会给你
您可能还注意到,我修改了costfunction
定义以返回x
值,否则matplotlib将只使用它喜欢的任何值。
答案 1 :(得分:1)
def costfuntion(b, a):
# b Value
x = np.linspace(b*(-b), b*(b), 100)
y = (x - a)**2
return x, y
x, y = costfuntion(20,5)
plt.plot(x, y)
for i in range(0, len(x), 2):
plt.plot(x[i], y[i], marker='o', color='b')
更改cost函数以返回要绘制的函数的x
和y
,并使用此信息在函数上绘制点。