Die beiliegende Grafik finden Sie. Ich muss die Punkte "a" und "b" finden. Bitte alle Methoden in Python vorschlagen.So finden Sie die Datenpunkte aus einem Diagramm
Graph wird durch Erhalten Laufzeiten aufgetragen, die wie unten beachtet werden: x = ([1000, 2000, 3000, 4000, 5000, 6000,7000, 8000, 9000])
und y = ([2314,802,519,417,358,318,302,284,280])
Need „a“ und „b“ Punkte zu finden, so dass ich sie einzeln für andere Aufgaben verwenden kann
Voll Code:
def piecewise_linear(x, x0, y0, k1, k2):
return np.piecewise(x, [x < x0], [lambda x:k1*x + y0-k1*x0, lambda x:k2*x + y0-k2*x0])
perr_min = np.inf
p_best = None
for n in range(100):
k = np.random.rand(10)*20
p , e = optimize.curve_fit(piecewise_linear, x, y)
perr = np.sum(np.abs(y-piecewise_linear(x, *p)))
if(perr < perr_min):
print "success"
perr_min = perr
p_best = p
xd = np.linspace(min(x), max(x), 100)
plt.figure()
plt.plot(x, y, "bo")
y_out = piecewise_linear(xd, *p_best)
plt.plot(xd, y_out)
plt.ylabel('Number of KeyFrames')
plt.xlabel('Threshold Values')
plt.show()
Unabhängig von der Programmiersprache müssen Sie den Punkt mathematisch definieren. Wie sind die grünen Linien definiert? Beschreibe den Punkt '(a, b)' ohne den Plot. – Gribouillis
Als Sam, wie unten erwähnt, Datenpunkte würden wie folgt aussehen: (1000, 2314) (2000, 802) (3000, 519) (4000, 417) (5000, 358) (6000, 318) (7000, 302) (8000, 284) (9000, 280) – ashti
Dies definiert nicht die grünen Linien, noch die Kurve, von der Sie sprechen. – Gribouillis