Optimalen Schnittpunkt finden < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 15:50 Mo 01.02.2010 | Autor: | eisvogel |
Liebes Forum,
nach einigen Auswertungen in MatLab habe ich nun als Zwischenergebnis einige blaue Datenpunkte in 3d (Gesamt, von oben, von der Seite). Um nun weiterzumachen benötige ich folgende Schritte, weiß aber nicht, wie ich sie mit MatLab umsetzen kann und würde mich über jede Unterstützung freuen. Wie das so mit der Sprache ist, ist meine Frage im Grunde genommen ganz simpel, aber das auch so auszudrücken ...
Allgemeine Beschreibung des Problems:
Ich suche die Schnittpunkte der grünen Linie mit der senkrechten Ebene, die durch x=0 aufgespannt wird (hier nur als blaue Linie von oben gesehen). Und von diesen Schnittpunkten suche ich die erfolgversprechensten 5 verschiedene Höhenminima (von der Seite), wobei auch diese z-Werte interpoliert werden müssten.
Lösungsansatz:
(i) Zunächst brauche ich wohl in der Grafik von oben die Schnittpunkte der grünen Linie mit der blauen Nulllinie. Leider habe ich nur die großen blauen Datenpunkte. Alles andere muss irgendwie interpoliert werden. Blos wie?
(ii) Zu den nun enthaltenen 2D-Datenpunkten müsste der dazugehörige z-Wert interpoliert werden. Wie kann ich einen 3D-Punkt interpolieren bei gegebenen x/y-Werten; welche Funktion in MatLab macht soetwas?
(iii) Abschließend würde ich dann diese Funktion benutzen, um die Minima zu bekommen, sie sortieren und mir die besten fünf ausgeben lassen.
Praktisch gesehen fehlt mir wahrscheinlich nur die Nennung der richtigen Funktionen, dann könnte ich bestimmt schon ein ganzes Stück alleine weiter kommen.
Über jede Hilfe freut sich,
eisvogel
P.S. Nein, ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Oje, bin ich zu ungeduldig, war die Frage zu kompliziert, habe ich zu wenig Eigenengagement gezeigt, habe ich den guten Ton im Forum nicht getroffen, oder habe ich einfach nur einen ungünstigen Zeitpunkt erwischt?
Ich sehe gerade, dass ich das System mit den Fälligkeiten jetzt erst verstehe ... hmmm, ich denke, meine Frage (s.o.) beibt noch so ca. 3-5 Tage akkut.
eisvogel
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 19:20 Mo 08.02.2010 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|
|
Hallo eisvogel,
ich gehe davon aus, dass die (blauen) Datenpunkte mit einem
Index i nummeriert sind: [mm] P_i(x_i,y_i,z_i) [/mm] mit i=1,2,...,n .
Um die Schnittpunkte des Polygonzuges mit der Ebene
x=0 zu bestimmen, solltest du wohl etwa so vorgehen:
Suche durch die Bedingung [mm] x_i*x_{i+1}\le [/mm] 0 jene Teilstrecken
[mm] P_iP_{i+1} [/mm] heraus, welche die Ebene durchstoßen.
Dann bestimmst du für jedes derartige i den Schnittpunkt
jener Teilstrecke mit der Ebene x=0.
Dies geht leicht: Für die y-Koordinate des gesuchten
Schnittpunktes [mm] S_i [/mm] gilt etwa, falls ich mich nicht
verrechnet habe, die Formel:
$\ [mm] y_{S_i}\ [/mm] =\ [mm] y_i-x_i*\frac{y_{i+1}-y_i}{x_{i+1}-x_i}$
[/mm]
Die Formel für die z-Koordinate ist analog.
LG Al-Chw.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 13:37 Di 16.02.2010 | Autor: | eisvogel |
Lieber Al-Chwarizmi,
vielen Dank für Deine Hilfe, mit Deiner Antwort konnte ich mein Problem lösen. Ich hatte ursprünglich die Hoffnung, dass es eine besondere Funktion in MatLab gäbe, die genau das macht, doch ich musste feststellen, dass dem nicht so ist. Dann habe ich Deine Punkte umgesetzt und siehe da, es hat wunderbar funktioniert, wie man in dieser Grafik sehen kann.
Nocheinmal vielen Dank für Deine Hilfe,
eisvogel
|
|
|
|
|
> ... und siehe da, es hat wunderbar funktioniert
> wie man in dieser Grafik sieht.
Hallo eisvogel,
das ist ja sehr schön herausgekommen. Gratulation !
|
|
|
|