J'essaie de démontrer une fonction de coût en ce moment et je me demande s'il existe un moyen de traverser la parabole en ajoutant un tracé dans le même sous-tracé et la même figure.

def costfuntion(b, a):
    # b Value
    x = np.linspace(b*(-b), b*(b), 100)
    y = (x - a)**2
    return y

Ma tentative de complot:

plt.plot(costfuntion(20,5))
plt.ylabel("Cost Value");

#b = 'some b value'
plt.plot(b, marker='o', color='b')

Ce que j'essaie d'imiter (Environ : 1:13)

enter image description here

2
Maku 19 mars 2019 à 07:54

2 réponses

Meilleure réponse

Étant donné que les valeurs y dépendent des valeurs a, vous devez spécifier un a pour la recherche y. Considérer ce qui suit:

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

Cela vous donnera

Cost function with tracer

Vous pouvez également noter que j'ai modifié la définition costfunction pour renvoyer les valeurs x, sinon matplotlib utilisera simplement toutes les valeurs qui lui plaisent.

1
William Miller 19 mars 2019 à 08:28
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')

Modifiez la fonction de coût pour renvoyer à la fois x et y la fonction que vous tracez et utilisez ces informations pour tracer des points sur la fonction.

1
mujjiga 19 mars 2019 à 08:54