遍历线图

时间:2019-03-19 04:54:47

标签: python python-3.x numpy matplotlib neural-network

我现在正在尝试演示一个成本函数,想知道是否存在一种通过在同一子图和图中添加图来遍历抛物线的方法。

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)

enter image description here

2 个答案:

答案 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()

这会给你

Cost function with tracer

您可能还注意到,我修改了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函数以返回要绘制的函数的xy,并使用此信息在函数上绘制点。