Ich habe Datenpunkte für eine Funktion f: R^3-> R, d. H. Ich habe x1, x2, x3
und für jede Kombination von verschiedenen Werten von x1, x2, x3
habe ich einen Wert für f
. Zum BeispielMatlab: Finden Interpolationsfunktion in 3d
x1 = 1:10, x2 = 1:6, x3 = 1:8
dann bekam ich 10 * 6 * 8 = 480 Werte für f
.
Ich weiß, es gibt eine Funktion interp3
, die Interpolation im 3D-Raum, aber nur für einen bestimmten Satz von Abfragepunkten.
Nun meine Frage: Ich hätte gerne eine Art allgemeiner Ausdruck für die Funktion f
, d.h. so etwas wie f(x1,x2,x3) = ...
, wo die Punkte eine Funktion am besten die obigen Daten entsprechen und ist eine "geschlossene Form" Ausdruck. Zum Beispiel, wenn es am besten linear in x1
passt, quadratisch in x2
und konstant in dann f
wäre so etwas wie f(x1,x2,x3) = a*x1 + b*x2^2 +c
und a, b, c
sind feste Zahlen. Also im Grunde gibt es zwei Dinge Ich mag würde lösen:
Wie ist
f
auf den Daten, dh den allgemeinen Ausdruck (wie oben mita*x1 + b*x2^2 +c
)bekommen den besten Wert für
a,b,c
passen die angegebenen Daten.
Gibt es eine Möglichkeit Matlab kann dieser/diese beiden Problem/s lösen, so dass es eine gute Funktion Ausdruck für f
berechnet auf x1, x2, x3
abhängig? Und wenn nicht (weil ich denke, 1. ist ziemlich schwer zu lösen?) Gibt es eine Möglichkeit zu "annehmen" f
hat eine gegebene Form (wie f(x1,x2,x3) = a*x1^2 + b*x2^2 +c*x3^2
oder etwas anderes) und dann finden Sie die besten Werte, die diese Form mit dem gegebenen Daten?
Auch jetzt sehen Sie, dass ich interp3 nicht benutzen kann (zumindest denke ich so), weil ich diesen Ausdruck der "geschlossenen Form" nicht habe.
versuchen 'Hilfe passen' –
Großartig Danke. Ich habe mir das mal angeschaut, aber anscheinend nur für 1 oder 2 Dimensionen: "Passende Daten, spezifiziert als Matrix mit entweder einer (Kurvenanpassung) oder zwei (Oberflächenanpassungs) -Säulen". Außerdem wird in der Registerkarte "Siehe auch" nichts für 3d erwähnt ?! Es sieht auch so aus, dass 'polyfit' nur für 1d ist, oder? – SemtexB
Aber das sieht vielversprechend aus: https://de.mathworks.com/matlabcentral/newsreader/view_thread/116762 zumindest für 2. in meiner Frage. 1. Ich muss mich wohl selbst behandeln? – SemtexB