Hilfe beim Interpolieren von bereits interpolierten Funktionen

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
KevKev
User
Beiträge: 5
Registriert: Montag 18. Februar 2019, 17:45

Hallo zusammen

Ich hoffe ich schreibe mein Anliegen in den richtigen Forums teil.

Ich habe folgende Funktionen bereits interpoliert:

Code: Alles auswählen

f1 = interpolate.interp2d(y1,x1,z1,kind="linear")
f2 = interpolate.interp2d(y2,x2,z2,kind="linear")
f3 = interpolate.interp2d(y3,x3,z3,kind="linear")
f4 = interpolate.interp2d(y4,x4,z4,kind="linear")
f5 = interpolate.interp2d(y5,x5,z5,kind="linear")
f6 = interpolate.interp2d(y6,x6,z6,kind="linear")


Nun möchte ich diese Funktionen nochmals interpolieren. Hier mein versuch:

Code: Alles auswählen

f7 = interpolate.interp2d(f3,f2,kind="linear")
f8 = interpolate.interp2d(f6,f5,kind="linear")
f9 = interpolate.interp2d(f2,f1,kind="linear")
f10 = interpolate.interp2d(f5,f4,kind="linear")
Leider funktioniert dies nicht bei mir. Es kommt folgende Fehlermeldung:

Code: Alles auswählen

Traceback (most recent call last):

  File "<ipython-input-1-098635d60a19>", line 1, in <module>
    runfile('C:/Users/***/Desktop/take_off_distance.py', wdir='C:/Users/***/Desktop')

  File "C:\Users\***\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 786, in runfile
    execfile(filename, namespace)

  File "C:\Users\***\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 110, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "C:/Users/***/Desktop/take_off_distance.py", line 148, in <module>
    f7 = interpolate.interp2d(f3,f2,kind="linear")

TypeError: __init__() missing 1 required positional argument: 'z'
Leider weiss ich nun nicht wie ich die Funktionen f8 - 10 verändern muss, damit die Interpolation funktioniert.

Ich hoffe sehr, dass Ihr mir helfen könnt.

LG Kevin
Benutzeravatar
ThomasL
User
Beiträge: 1366
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Was sagt denn die Fehlermeldung genau?
Beim 2.ten Interpolieren fehlt ein Parameter, du übergibst nur 2 anstelle von 3.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
KevKev
User
Beiträge: 5
Registriert: Montag 18. Februar 2019, 17:45

Hallo

Ja mir ist klar was die Fehlermeldung besagt. Mir ist jedoch nicht klar, warum ich eine dritte Stelle angeben muss, wenn ich doch nur noch zwei Funktionen miteinander interpolieren möchte. Vorallem möchte ich wissen, was ich eingeben muss, damit die Interpolation doch noch funktioniert.

LG Kevin
Benutzeravatar
ThomasL
User
Beiträge: 1366
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Dazu bemüht man in der Regel die Dokumentation der verwendeten Bibliothek,
in diesem Fall scipy.interpolate
https://docs.scipy.org/doc/scipy/refere ... erp2d.html
Eventuell suchst du ja das hier:
https://docs.scipy.org/doc/scipy/refere ... e.interp1d
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

@KevKev: was möchtest Du eigentlich erreichen? Was ist gegeben? Was soll das Ergebnis sein?
Wenn Du anfängst Variablen durchzunummerieren, machst Du mit hoher Wahrscheinlichkeit etwas falsch.
Antworten