3D-Spline-Interpolation Matlab
Habe ich zwei 3D-arrays:
A=[
12751 4616 15915
15864 4622 15667
12877 4683 21050
15816 4668 21253
11374 5006 18495
16995 5466 18493
11638 4880 20023
17078 4938 20006
11576 4886 17011
];
und
B=[
12402 2138 15743
10285 3175 15851
10237 3084 21052
12130 2129 21299
8074 3802 18505
14515 1623 18497
8415 3713 19856
14462 1120 20061
8340 3711 17145
14483 1157 16990];
und ich will tun, spline-oder 3D-interpolation, zwischen denen Sie mit Interp3
in Matlab.Wie soll ich das definieren V
im VI = interp3(X,Y,Z,V,XI,YI,ZI)
?
Oder Y
im yy = spline(x,Y,xx)
.
- Diese arrays look sehr zwei dimensional zu mir...
- Was tun diese arrays dar? Hinweis: in absolut KEINEM Fall interp3 werden das richtige Werkzeug für die interpolation hier.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich verstehe nicht ganz, Ihre Daten, ist
B
eine Funktion vonA
(oder Umgekehrt)? Auch diese arrays angezeigt werden 1D -, nicht 3D. Können Sie dies verdeutlichen?In Ihrer Funktion aufrufen
Y
ist die abhängige variable, die Sie interpolierende:Y
ist eine Funktion vonx
und das Ergebnis der obigen Funktion aufgerufen wird, den Rückgabewert vonY
beixx
. Als ein Beispiel in einer dimension, versuchenCheck-out die
spline
- Dokumentation weitere Informationen und Beispiele für die Verwendung dieser Funktion.Diese Funktion ist jetzt nur für 1D-Montage, und ist (vermute ich) entspricht
yy = interp1(x, Y, xx, 'spline')
. Wenn Sie wollen, um eine drei dimensionale lookup, müssen Sieinterp3
, die vergröbert obigen Beispiel zu 3D. Anstatt also nur eine unabhängige Koordinatex
haben wir zwei weiterey
, undz
- und drei-Koordinaten für den Punkt, an dem wir möchten, führen Sie die nachschlagen:xx
,yy
undzz
. Die Funktion, die Sie interpolieren, muss ein 3D-Funktion der Koordinaten(x, y, z)
. Versuchen Sie, ein Beispiel: