Wie zu verwenden interpn auf nicht monotone Daten
Unten ist ein Teil meiner Daten. Die 1. Spalte R den Wert habe ich aus dem experiment, und X Y Z sind die Koordinaten. Ich bin versucht, mit Hilfe von matlab-n-D-interpolation-Funktion. Matlab, sagte meine Koordinaten sind nicht monotone erhöhten Wert. Aber ich kann mich nicht ändern oder neu anordnen meine Koordinaten.
Habe ich die falsche Funktion?
Bitte sagen Sie mir, was ich machen soll.
R X Y Z
5.05256e-18 0.016 0.015 0.032
4.99958e-18 0.016 0.015 0.064
5.04485e-18 0.016 0.015 0.128
5.49613e-18 0.016 0.0195 0.032
5.45348e-18 0.016 0.0195 0.064
5.43161e-18 0.016 0.0195 0.128
5.9393e-18 0.016 0.03 0.032
5.98785e-18 0.016 0.03 0.064
6.01929e-18 0.016 0.03 0.128
6.54936e-18 0.016 0.06 0.032
6.45947e-18 0.016 0.06 0.064
6.52379e-18 0.016 0.06 0.128
5.06516e-18 0.032 0.015 0.032
5.04897e-18 0.032 0.015 0.064
5.14022e-18 0.032 0.015 0.128
5.45993e-18 0.032 0.0195 0.032
5.4616e-18 0.032 0.0195 0.064
5.38434e-18 0.032 0.0195 0.128
5.94097e-18 0.032 0.03 0.032
5.91148e-18 0.032 0.03 0.064
6.05671e-18 0.032 0.03 0.128
6.56989e-18 0.032 0.06 0.032
6.58173e-18 0.032 0.06 0.064
6.45971e-18 0.032 0.06 0.128
Dies ist mein test-code.
Möchte ich, um den Interpolations-Wert bei X=0.06 Y=0.07 Z=0.08
interpn(X,Y,Z,R,0.06,0.07,0.08,'linear')
matlab Meldung:
Fehler mit griddedInterpolant
Die grid-Vektoren sind nicht streng monotone Steigend.
- es wird hilfreich sein, wenn Sie könnte auch nach dem code, den Sie verwenden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich fürchte, dass dein problem geht ein bisschen darüber hinaus die Monotonie der Vektoren. Verwenden interpn in diesem Fall würden Sie müssen auch R, um eine 3-dimensionale matrix. Auch die Werte bei 0,06 und 0,07 zu sein scheinen, die außerhalb des Bereichs der X-und Y jeweils.
Wenn Sie beheben können die Reichweite problem, versuchen Sie es mit der Funktion
In Ihrem Fall die Sache würde so Aussehen:
Hoffe, das funktioniert, wie ich oben schrieb, wusste ich nicht versuchen Sie es, so dass Sie möglicherweise die für die Umsetzung der Dinge, die hier und da, um es arbeiten, aber ich bin mir fast sicher, dass griddatan() sollte den trick tun.