Mathematik online lernen im Mathe-Forum. Nachhilfe online
Startseite » Forum » Funktion z=f(x,y) aus Messpunkten erstellen

Funktion z=f(x,y) aus Messpunkten erstellen

Universität / Fachhochschule

Funktionalanalysis

Funktionentheorie

Graphentheorie

Algebraische Topologie

Tags: Algebraische Topologie, Fläche, Funktionalanalysis, Funktionentheorie, Graphentheorie, Messpunkte, Messwert, Raum

 
Antworten Neue Frage stellen Im Forum suchen
Neue Frage
MaLe92

MaLe92 aktiv_icon

16:03 Uhr, 09.12.2015

Antworten
Hey,
ich habe 3 Matrizen mit x-,y- und z- Werten, die sich aus Messungen ergeben. Sie sind jeweils als Matritzen gespeichert und sie spannen eine Fläche auf (siehe Bild).

Nun möchte ich die Fläche mathematisch beschreiben. Ich bin also auf der Suche nach einer Funktion z=f(x,y).

Wie ist das möglich?

Danke

Würde euch gern die Punkte geben, weiß aber leider nicht,wie man am besten 22x35 Matritzen hier postet (Habe sie in einem Matlab-File)

Flächenpunkte

Für alle, die mir helfen möchten (automatisch von OnlineMathe generiert):
"Ich möchte die Lösung in Zusammenarbeit mit anderen erstellen."
Hierzu passend bei OnlineMathe:
Bestimmtes Integral (Mathematischer Grundbegriff)
Flächenberechnung durch Integrieren
Funktion (Mathematischer Grundbegriff)
Online-Nachhilfe in Mathematik
Antwort
ledum

ledum aktiv_icon

11:54 Uhr, 10.12.2015

Antworten
Kannst du für eine Richtung Höhenlinien finden, also z. B. f(x_1.x_2)=const dann versuche die anzunähern.
Gruß ledum
MaLe92

MaLe92 aktiv_icon

12:24 Uhr, 10.12.2015

Antworten
Verstehe gerade leider nicht so genau, wie du das meinst bzw. wie ich da vorgehe, um die Höhenlinien zu finden.
Antwort
ledum

ledum aktiv_icon

14:58 Uhr, 10.12.2015

Antworten
Hallo
Es war eigentlich eine Frage: wenn du deine Matix nach z. B den z Werten sortierst, hast du dann viele gleiche z- Werte oder daselbe mit x oder y Werten. dann hättest du Kurven z=const f(x,y)=c also Höhenlinien.
evt, kannst du solche Linien auch durch Interpolation finden.
Gruß ledum
Antwort
Roman-22

Roman-22

15:27 Uhr, 10.12.2015

Antworten
Die Flächenfunktion zu "finden" wird wohl nicht möglich sein, aber mit den Regressionsmöglchkeiten von Matlab sollte schon was zu machen sein. Und auch händisch den Residuendvektor mit den Abweichungsquadraten aufzustellen und mit Hilfe von Matlab zu minimieren sollte möglich ein.

Bei all dem solltest du aber bereits eine Ahnung, einen Verdacht betreffend die grundsätzliche Bauart deiner Funktion haben und es geht nur mehr darum, deren Parameter bestmöglich zu bestimmen.

R

MaLe92

MaLe92 aktiv_icon

16:29 Uhr, 10.12.2015

Antworten
@ ledum: Ja, zumindest bei den x-und y- Werten sind sehr viele gleich. Das wird daher kommen, dass ich mit Matlab, ein Meshgrid erzeugt habe.

@ Roman-22: Ich vermute stark, dass es mit einer polynomialen Anäherung lösen lassen würde. So etwas in der Art:

z=axn+bxn-1y+cxn-2y2+...

Mir fehlen dann die Annahme von n und die Koeffizienten.

Noch einmal zur Entstehung dieser Fläche.
Ich habe in Matlab mit gegebenen Werten ein Meshgrid erzeugt und die z-Werte approximieren lassen. Ich bekomme aber leider keinerlei Information über die erzeugte Fläche
MaLe92

MaLe92 aktiv_icon

10:24 Uhr, 15.12.2015

Antworten
Entschuldigt bitte, aber ich habe immer noch Interesse an dieser Frage und sie ist noch nicht beantwirtet. Ich bin nur versehentlich auf den falschen Link gekommen und habe es gerade erst gemerkt.

Hab hier als Scrrenshots mal Auszüge aus den X-,Y- und Z-Werten.

x
y
z
Antwort
Roman-22

Roman-22

17:28 Uhr, 15.12.2015

Antworten
> Ich vermute stark, dass es mit einer polynomialen Anäherung lösen lassen würde.
lösen?
Du kannst mit nahezu jedem Funktionstyp mehr oder gut approximieren. Es hängt aber davon ab, woher die Daten stammen, welcher Funktionstyp angesetzt werden sollte.

Beispiel: Wenn du zu bestimmten Zeitpunkten bei einem sich über einen Vorwiderstand per Gleichspannung ladenden Kondensator misst, kannst du diesen Punkthaufen sicher auch ganz gut mit einer Polynomfunktion oder einer Wurzelfunktion annähern. Sinnvoll ist aber nur der Ansatz über eine Exponentialfunktion der Bauart uc(t)=U0(1-e-tτ), weil man eben weiß, dass der Vorgang einer solchen Funktion folgt und man kann nun aus dem Punkthaufen die Sättigung U0 und die Zeitkonstante τ ermitteln.

Einfach nur Punkte anzugeben und sich einen Funktionsterm wünschen ist relative aussichtslos. Man muss schon wissen, welcher Vorgang die Daten erzeugt hat und was man mit der Funktionsgleichung vorhat.

Es geht doch selten nur darum, den Punkthaufen durch eine geschlossene Funktion näherungsweise darzustellen.
Wie du deine Funktion also ansetzt, hängt davon ab, welchen Vorgang sie beschreiben soll und was du über diesen Vorgang grundsätzlich weißt. Außerdem hängt es natürlich davon ab, was du überhaupt dann anschließend mit dieser Funktion anstellen möchtest.

> So etwas in der Art:
> z=axn+bxn−1y+cxn−2y2+...
Ja, da fehlen aber noch die Glieder, bei denen die Summe der Exponenten von x und y kleiner als n ist.
Insgesamt hast du da mit 12(n+1)(n+2) Koeffizienten zu kämpfen!

> Mir fehlen dann die Annahme von n und die Koeffizienten.
Naja, die Entscheidung, welchen Grad das Polynom haben soll liegt bei dir (oder deiner Anwendung). Aber für ein Polynom vierten Grades, welches vermutlich noch keine sonderlich gute Näherung ergibt, hast du bereits 15 Koeffizienten zu bestimmen.
Die Koeffizienten liefert dir eine nichtlineare Regression (least squares fit) die dein Programm entweder out of the box mitbringt oder welche du dir selbst bastelst, indem du mit der Minimierfunktion des Programms den Residuenvektor minimierst. Der Residuenvektor besteht aus den 770 Werten die du erhältst, wenn du das Quadrat der Differenz von z(x,y) und dem tatsächlich gemessenem z-Wert für alle deine Messpunkte bildest.
In der Regel ist es besser, den Residuenvektor minimieren zu lassen und nicht der Einfachheit halber nur seinen Betrag.
Der Algorithmus, den dein Programm für diese Minimierung verwendet mag unterschiedlich sein, meist ist Levenberg-Marquardt implementiert.

> Hab hier als Scrrenshots mal Auszüge aus den X-,Y- und Z-Werten.
Ich denke, dass das wenig bringt.
Wenn du die Daten zur Verfügung stellen möchtest, so ist das hier vermutlich nur schwer möglich. Entweder du wandelst sie in eine TeX-tabelle um und fügst sie in den (dann viel zu umfangreichen) Text ein, oder du verweist auf einen externen Hoster, dem du die Excel-Datei, oder was auch immer, anvertraust.

R


Diese Frage wurde automatisch geschlossen, da der Fragesteller kein Interesse mehr an der Frage gezeigt hat.