Punkty pośrednie w tablicy z pojedynczymi punktami

0

Hej wszystkim,

Mam dwie tablice w których znajdują się współrzędne x,y dla kilku punktów z większego zakresu. Czyli jeśli założymy, że mamy zakres od 0 do 1000 w osi x, punkty nie wypełniają całego zakresu tylko są rozłożone w ten sposób:

print(x)
[30, 162, 189, 298, 314, 402, 430, 459, 557, 576, 639, 687, 698, 753, 795, 826]
print(y)
[193.34, 327.2, 224.37, 506.09, 106.84, 143.16, 116.36, 134.88, 156.69, 139.14, 182.01, 150.62, 178.96, 130.06, 174.55, 138.2]

Chodzi mi o to, żeby stworzyć tablicę która poza określonymi punktami, wypełnia odpowiednimi wartościami punkty pomiędzy nimi. Oczywiście mogę to zrobić "na piechotę", czyli połączyć punkty w pary i znaleźć funkcje liniową na ich podstawie ale jestem niemal pewny, ze numpy lub inna biblioteka oferuje takie coś w standardzie. Żeby to bardziej zobrazować - mam współrzędne niebieskich punktów, potrzebuje tablicy wszystkich punktów z żółtej linii.

plot(x,y,'o')
plot(x,y)

screenshot-20221013133743.png

1

W sensie interpolacja?
https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.interp2d.html

Żeby nie było - absolutnie nie znam się na pytonie/numpy - pierwszy wynik z google w kontekście interpolacji.

2

Gdyby kogoś interesowało rozwiązanie, to tak jak koledzy sugerowali - najlepiej użyć SciPy

f = interpolate.interp1d(x,y)
xnew = range(min(x),max(x))
ynew = f(xnew)
plot (xnew, ynew)

screenshot-20221013143302.png

1 użytkowników online, w tym zalogowanych: 0, gości: 1