www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Englisch
  Status Grammatik
  Status Lektüre
  Status Korrekturlesen
  Status Übersetzung
  Status Sonstiges (Englisch)

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Maple" - Punktmenge Implizite Funktion
Punktmenge Implizite Funktion < Maple < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Maple"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Punktmenge Implizite Funktion: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 14:34 Mo 10.08.2009
Autor: guschdldererste

Hallo,

ich habe eine implizite Funktion f(x,y)=0 in zwei Variablen und möchte ein die Punkte x,y berechnen, welche f(x,y)=0 erfüllt. Eine Möglichkeit, welche mir aber sehr mühsam und wenig elegant erscheint, ist die Überprüfung einzelner Punkte mittels Iterationsschleifen.

Bin um jeden Tip dankbar.




        
Bezug
Punktmenge Implizite Funktion: Antwort
Status: (Antwort) fertig Status 
Datum: 15:15 Mo 10.08.2009
Autor: Andrey

Oh je... Diese Geschichten sind insofern nicht trivial, weil es nach oben keine grenze für optimierungen gibt: man kann sich immer etwas besseres einfallen lassen und darüber megadicke bücher schreiben. Wenn du eine bibliothek in der nähe hast, würde ich dir direkt empfehlen, dir irgendwas über darstellung impliziter flächen zu holen und darin zur inspiration ein wenig rumzublättern.

Spontan würden mir folgende Sachen einfallen:
1) Wenn f stetig ist, dann heißt es ja, dass die werte in der nähe eines punktes vom wert in dem punkt selbst nicht zu sehr verschieden sind. Hast du also einen punkt x mit ~f(x)=0 gefunden, lohnt es sich, nach punkten in der nähe ausschau zu halten, die ebenfalls den wert ~0 haben, dann kann man dem verlauf der impliziten kurve folgen, statt große leere bereiche abzusuchen.

2) ist f stetig, und hast du zwei punkte x, y s.d f(x)<0 und f(y)>0, so gibt es nach zwischenwertsatz einen Punkt auf der verbindungsstrecke zwischen x und y, wo f den wert 0 annimmt
=> Intervallhalbierungsverfahren
=> Nullstelle in O(log(dist(x,y))) gefunden

3) Quadtrees bzw Octrees sind immer gut, egal worum's geht: unterteile die Fläche rekursiv in immer feinere quadrate, und schaue dir zuerst die quadrate an, wo am meisten "spannung" drin ist: wenn etwa die funktionswerte an den ecken >0 und <0 sind, dann wird in dem quadrat irgendwo ein stück der impliziten kurve drin sein. wenn dagegen alle werte zB. positiv sind, und sich wenig voneinnander unterscheiden, dann ist in dem quadrat wohl eher ein "plateau" ohne viel interessantes, den kann man erstmal liegen lassen und erst später genauer anguggen

4) mehrere threads laufen lassen. Jetzt hat jeder stinknormaler rechner doublecore, wäre doch verschwendung alles nur streng sequenziell auszuführen, wenn mehrere threads verschiedene bereiche gleichzeitig absuchen könnten.

Bezug
                
Bezug
Punktmenge Implizite Funktion: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 15:31 Mo 10.08.2009
Autor: guschdldererste

Super!! Vielen Dank für die Anregungen!

Noch eine weitere Frage dazu:

Kann ich nicht auf die Werte von implicitplots zugreifen? Maple muss ja, um die Implizite Funktion zu plotten auch die Werte kennen, welche die Gleichung f(x,y)=0 erfüllen!? Ich dacht viell kann ich auf diese Zugreifen... Leider bin ich da noch nicht weitergekommen.



Bezug
                        
Bezug
Punktmenge Implizite Funktion: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 15:55 Mo 10.08.2009
Autor: Andrey


> Kann ich nicht auf die Werte von implicitplots zugreifen?

Sorry, wie, was?

> Maple muss ja, um die Implizite Funktion zu plotten auch
> die Werte kennen, welche die Gleichung f(x,y)=0 erfüllen!?
> Ich dacht viell kann ich auf diese Zugreifen...  

Was hat das alles jetzt plötzlich mit maple zu tun? Maple kann sowas mit Sicherheit auch ohne Unterstützung von uns normalsterblichen, das was maple kann wird man selbst wohl kaum so schnell hinbekommen, wenn überhaupt...

Worum geht es dir denn überhaupt, willst du jetzt ein Programm schreiben, das implizite Kurven malen kann, oder willst du einfach nur die befehle für maple wissen?

Bezug
                                
Bezug
Punktmenge Implizite Funktion: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 16:26 Mo 10.08.2009
Autor: guschdldererste

Da das Ganze im Maple-Forum steht bin ich davon ausgegangen, dass klar ist, dass es um Maple geht. Ja, ich wäre sehr daran interessiert, wie man sowas unter Maple löst bzw. ob es dafür ne Routine gibt.

Bezug
                                        
Bezug
Punktmenge Implizite Funktion: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 16:37 Mo 10.08.2009
Autor: Andrey


> Da das Ganze im Maple-Forum steht bin ich davon
> ausgegangen, dass klar ist, dass es um Maple geht.

Ohje, wer lesen kann (und dies auch tut) ist klar im Vorteil^^ Sorry, habe da wohl nicht genau hingeschaut wo ich hinklicke, entschuldigung... Blick hier in der Organisation dieses Forums absolut keinen meter durch, ich dachte du wärst so ein programmierbegeisterter Mathematiker der sich einen Plotter für implizite Kurven basteln will^^ Naja, egal.

> Ja, ich
> wäre sehr daran interessiert, wie man sowas unter Maple
> löst bzw. ob es dafür ne Routine gibt.

Wie wär's mit sowas?

with(plots,implicitplot)
[mm] f(x,y):=x^2+y^2-5 [/mm]
implicitplot(f(x,y), x=-5..5, y=-5..5)

das ist jedenfalls der erste treffer zum thema "implicit plot" bei der Hilfe von Maple 11, wonach hast du denn gesucht?

Bezug
                                                
Bezug
Punktmenge Implizite Funktion: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 16:50 Mo 10.08.2009
Autor: guschdldererste

Ja, das Forum ist sehr verwirrend! ;-)
Wie ich die Funktion plotte ist mir schon klar. Was ich von Maple haben will sind die einzelnen Punkte (x,y), welche f(x,y)=0 erfüllen. Ich dachte mir, da Maple so schlau ist und das Ganze plotten kann, muss es mir auch die Punkte ausgeben können, da die Routine implicitplots ja auch die Punkte bestimmen muss, welche f(x,y)=0 erfüllen.

Bezug
                                                        
Bezug
Punktmenge Implizite Funktion: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 17:19 Mo 10.08.2009
Autor: Andrey

Achso, du willst auf das Innenleben dieses Plot-Algorithmus zugriff bekommen, um dieselben punkte nicht als Bild, sondern eher in tabellenform zu haben, das heißt du viellst einfach eine hinreichend lange liste mit punkten, die f(x)~0 erfüllen, so in etwa? Hm, nun ja, da sehe ich auf den ersten Blick nichts was weiterhelfen würde... Falls kein Betriebsgeheimnis: was willst du denn mit diesen Punkten anstellen? Vielleicht lässt sich das ja wirklich auch direkter lösen.

Bezug
                                                        
Bezug
Punktmenge Implizite Funktion: na also... verwirrend, tse,tse
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 20:12 Mo 10.08.2009
Autor: Herby

Hallo ihr Zwei :-)


> Ja, das Forum ist sehr verwirrend! ;-)


was ist denn bitte hier verwirrend [haee] :  Alle Foren  [mm] \text{\green{<--\ klickst\ ihr\ da}} [/mm]


Lg
Herby [grins]

Bezug
        
Bezug
Punktmenge Implizite Funktion: Antwort
Status: (Antwort) fertig Status 
Datum: 17:02 Mo 10.08.2009
Autor: Al-Chwarizmi


> Hallo,
>  
> ich habe eine implizite Funktion f(x,y) in zwei Variablen
> und möchte die Punkte (x,y) berechnen, welche f(x,y)=0
> erfüllen. Eine Möglichkeit, welche mir aber sehr mühsam
> und wenig elegant erscheint, ist die Überprüfung
> einzelner Punkte mittels Iterationsschleifen.
>  
> Bin um jeden Tip dankbar.


Mal abgesehen von Maple, Schleifen, Plotfunk-
tionen, Quadtrees etc. :

Weshalb verrätst du nicht, um was für eine
Funktion es denn tatsächlich konkret gehen
soll ?

Möglicherweise lässt sich dein Problem mit
ganz kleinem Aufwand mit Bleistift, einem
Blatt Papier und ein wenig Grips lösen ...


LG     Al-Chw.

Bezug
                
Bezug
Punktmenge Implizite Funktion: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 17:57 Mo 10.08.2009
Autor: guschdldererste

Ich möchte den Flächeninhalt dieser Funktion

Vd := proc (eta, xi) options operator, arrow; [mm] ((-1)*0.2893279480e-4*xi^6+0.2068912225e-5*xi^8+0.9156907035e-3*xi^2+0.2109192340e-3*xi^4)*cos(eta)+((-1)*0.6071284941e-4*xi^7+0.9066131648e-3*xi^5+(-1)*0.6001066340e-2*xi^3+(-1)*0.4141132509e-1*xi)*sin(eta)+.5000000000*kp*eta^2 [/mm] end proc;

an der Höhenlinine  Vd(eta,xi)=0.0162 berechnen.

Mein Idee war einen Spline durch einen Teil der Punkte (eta,xi) durchzulegen, welche die Gleichung Vd(eta,xi)=0.0162 erfüllen. Diese Spline-Funktion wollte ich dann aufintegrieren. Natürlich kann ich den Spline nur durch Punkte durchlegen, welche eine eindeutige Abhängigkeit xi(eta) beschreiben. Diese Funktion hätte ich dann aufintegriert.

Bezug
                        
Bezug
Punktmenge Implizite Funktion: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 19:44 Mo 10.08.2009
Autor: Andrey

Du willst so zu sagen den Flächeninhalt des Gebietes "unterhalb" einer Höhenlinie bestimmen? Da wäre es imho wesentlich effizienter, alles in unterschiedlich feine polygone zu zerbröseln, und direkt den gesuchten flächeninhalt durch die Summe der flächeninhalte der einzelnen polygone zu approximieren. Zum beispiel wäre man mit einem Haufen Dreiecke schon recht gut dabei. Dort wo die Höhenlinie Stärker gekrümmt ist, unterteilt man den Raum in mehr Dreiecke. Dort wo einige ecken oberhalb und einige unterhalb der Höhenlinie sind, könnte man die Funktion linear approximieren, und schauen, welchen Anteil des dreiecks man zur gesuchten Fläche dazuzählt. Der Umweg über irgendwelche Splines der Höhenlinie wäre imho umständlicher, selbst wenn maple das freiwillig liefern würde.

Bezug
                                
Bezug
Punktmenge Implizite Funktion: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 20:35 Mo 10.08.2009
Autor: guschdldererste

Ich will den Flächeninhalt bestimmen, welcher von einer Höhenlinie umschlossen wird.

Wie "polygonisier" ich denn so eine Fläche?? Gibts da was in Maple/Matlab??

Bezug
                                        
Bezug
Punktmenge Implizite Funktion: Antwort
Status: (Antwort) fertig Status 
Datum: 22:04 Mo 10.08.2009
Autor: Andrey

Erstmal würde ich sagen: alles  in standard-rechtecke unterteilen, dort wo man mehr krümmung feststellt, um faktor [mm] $2^n$ [/mm] immer feiner unterteilen, gewöhnlicher adaptiver quadtree eben... Dann kann man es entweder so lassen und die Funktion durch die erhaltene Treppenfunktion approximieren. Oder man zerschlägt die vierecke nochmal an den diagonalen, und bekommt viele einzelne dreiecke, und hofft dann, dass sie linear die Funktion approximieren. Oder man versucht in jedes einzelne Viereck irgendeine approximierende quadrik reinzupacken, dann müsste man evtl paar nachbarpunkte dazunehmen.

Jedenfalls approximiert man die komplizierte Funktion lokal durch einfache Funktionen auf kleinen Polygonen, für die man den Flächeninhalt unter der Niveaulinie in geschlossener Form schnell angeben kann, und addiert am ende alles zusammen.

Ob's in die Richtung was vorgefertigtes gibt, bezweifle ich schwer...

Bezug
                        
Bezug
Punktmenge Implizite Funktion: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 20:36 Mo 10.08.2009
Autor: Al-Chwarizmi


> Ich möchte den Flächeninhalt dieser Funktion
>  
> Vd := proc (eta, xi) options operator, arrow;
> [mm]((-1)*0.2893279480e-4*xi^6+0.2068912225e-5*xi^8+0.9156907035e-3*xi^2+0.2109192340e-3*xi^4)*cos(eta)+((-1)*0.6071284941e-4*xi^7+0.9066131648e-3*xi^5+(-1)*0.6001066340e-2*xi^3+(-1)*0.4141132509e-1*xi)*sin(eta)+.5000000000*kp*eta^2[/mm]
> end proc;
>  
> an der Höhenlinine  Vd(eta,xi)=0.0162 berechnen.
>  
> Mein Idee war einen Spline durch einen Teil der Punkte
> (eta,xi) durchzulegen, welche die Gleichung
> Vd(eta,xi)=0.0162 erfüllen. Diese Spline-Funktion wollte
> ich dann aufintegrieren. Natürlich kann ich den Spline nur
> durch Punkte durchlegen, welche eine eindeutige
> Abhängigkeit xi(eta) beschreiben. Diese Funktion hätte
> ich dann aufintegriert.


In diesem Fall geht es wohl schon nicht so ganz einfach
auf einem Blatt Papier. Du suchst offenbar den Flächen-
inhalt des Gebietes in der [mm] \xi-\eta-Ebene, [/mm] das durch die
Ungleichung

    [mm] Vd(\eta,\xi)-D=A(\xi)*cos(\eta)+B(\xi)*sin(\eta)+C*\eta^2-D\le [/mm] 0

charakterisiert ist, wobei A und B Polynome sind.
Die Gleichung nach [mm] \xi [/mm] aufzulösen ist natürlich hoff-
nungslos. Auch die Auflösung nach [mm] \eta [/mm] geht nur
numerisch. Also besinnt man sich wohl am besten
gleich auf eine numerische Methode. Die MonteCarlo-
Methode ist zwar nicht sehr effizient, aber für eine
grobe Lösung durchaus brauchbar. Man müsste aber
dazu zuerst einen Rahmen für das Gebiet abstecken,
über welches man scannen muss. Gibt es vorgegebene
Einschränkungen für den sinnvollen Bereich von [mm] \xi [/mm]
und/oder [mm] \eta [/mm] ? Wenn nicht, müsste man danach suchen.
Dann verteilt man einfach "Pixels" wie die Bildpunkte
eines Monitors über den gesamten Bereich und zählt,
in wie vielen davon die Ungleichung erfüllt ist. Deren
Anzahl ist (ungefähr) proportional zum gesuchten
Flächeninhalt - sofern dieser überhaupt endlich ist.

LG     Al-Chw.


Bezug
                                
Bezug
Punktmenge Implizite Funktion: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 21:19 Mo 10.08.2009
Autor: guschdldererste

Super! Danke! Auf das wär ich gar nicht gekommen! So ähnlich wird doch auch die Zahl Pi bestimmt.

Für xi gilt abs(xi)<Pi.

Jetzt ist nur die Frage, was rechentechnisch günstiger unter Berücksichtigung der Genauigkeit ist. Mit dem Spline ist es auf jeden Fall genauer. Hab sowas in der Art schon mal gemacht...


Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Maple"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.englischraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]