Ich habe eine Reihe von Datenpunkten in Druck (p) und vmr. Ich mag den VMR-Wert für eine anderes Drucknetz finden (pressure_grid) .Ich verwendet np.interp,numpy.interpd -Rückkehr nur den letzten Wert nach der Interpolation
for lines in itertools.islice(input_file, i, l):
lines=lines.split()
p.append(float(lines[0]))
vmr.append(float(lines[3]))
x = np.array(p)
y = np.array(vmr)
yi=np.interp(pressure_grid,x,y)
Aber als ich versuchte, „yi“ es druckt nur den Wert (dh vmr Wert) zu drucken entspricht dem letzten Wert von "pressure_grid". Bei allen Iterationen wird der gleiche Wert ausgegeben Ich habe versucht, p und vmr zu drucken, bis dahin scheint alles in Ordnung zu sein. Ich kann nicht verstehen, warum das passiert ... Ich bin neu zu diesem ....... Hilfe bitte
So sieht meine Datei aus, erste Spalte-p und zweite Spalte-VMR.
und dies ist mein Drucknetz
https://1drv.ms/t/s!AmPNuP3pNnN8g35NPwIfzSl-VBeO https://1drv.ms/f/s!AmPNuP3pNnN8hAx3opovgipabSjJ
Könnten Sie ein [minimales, vollständiges und überprüfbares Beispiel] (http://stackoverflow.com/help/mcve) Ihres Codes bereitstellen? – Crispin
Stellen Sie sicher, dass die pressure_grid-Werte zwischen dem minimalen und dem maximalen Wert von x enthalten sind. Andernfalls, wenn der Wert von pressure_grid höher als das Maximum von x ist, gibt es den y-Wert für das Maximum von x zurück –
Entschuldigung für die späte Antwort, pressure_grid Werte haben Werte, die höher als x sind, gibt es eine andere Möglichkeit, diese zu extrapolieren values.I versuchte mit scipy.interpolate, aber es funktioniert auch nicht .. kann jemand andere Methoden vorschlagen, dies zu tun ..... danke – caty