Wir können dies leicht ohne Python in einem Diagramm zeichnen:
Dies zeigt uns, was die Antwort sollte (13) sein.
Aber wie berechnen wir das? Zuerst finden wir die Steigung mit diesem:
Die Zahlen in die Gleichung diese geben:
So wissen wir, für 0.625 erhöhen wir den Y-Wert durch, wir erhöhen der X-Wert von 1.
Wir haben gegeben, dass Y ist 100. Wir wissen, dass 102,5 bezieht sich auf 17. 100 - 102.5 = -2.5
. -2.5/0.625 = -4
und dann 17 + -4 = 13
.
Dies funktioniert auch mit den anderen Nummern: 100 - 95 = 5
, 5/0.625 = 8
, 5 + 8 = 13
.
Wir können auch rückwärts gehen mit dem Kehrwert des Gradienten (1/m
).
Wir haben gegeben, dass X 13 ist. Wir wissen, dass 102,5 bezieht sich auf 17. 13 - 17 = -4
. -4/0.625 = -2.5
und dann 102.5 + -2.5 = 100
.
Wie machen wir das in Python?
def findXPoint(xa,xb,ya,yb,yc):
m = (xa - xb)/(ya - yb)
xc = (yc - yb) * m + xb
return
und einen Y-Punkt des X-Punkt gegeben zu finden:
def findYPoint(xa,xb,ya,yb,xc):
m = (ya - yb)/(xa - xb)
yc = (xc - xb) * m + yb
return yc
Diese Funktion wird auch von den Datenpunkten extrapolieren.
Off-Thema: Beachten Sie, dass Sie buchstäblich für lineare Interpolation fragen. Beim Sammeln von Daten im realen Leben ist die Verteilung nicht unbedingt linear. – Aguy