Implizite Kurve als Funktion verwenden

David shared this question 5 years ago
Needs Answer

Hallo Leute,


ich habe ein Problem mit einer impliziten Kurve. Geogebra kann diese Kurve problemlos graphisch darstellen, aber ich möchte mit dieser Kurve noch weiterarbeiten. Im Prinzip möchte ich eine Funktion definieren, die genau diese Kurve beschreibt, um diese dann zu logarithmieren (es geht um Titrationskurven).

Mal angenommen die Kurve ist kubisch oder von höherem Grad in der Variable y, beispielsweise y³ + y² + y = x. Probiert habe ich schon das, was im folgenden Beitrag geraten wurde:

https://help.geogebra.org/t...

Die Kurve dort ist leicht nach y auflösbar, im Gegensatz zu meiner. Kann Geogebra das überhaupt? Sollte sie eigentlich, sie kann ja den Graphen darstellen.


Ich habe also folgenden Befehl im CAS-Rechner probiert, aber dabei kam nur ein Fragezeichen raus (meine Kurve heißt d):

b(x):= Element[Löse[d,y],1]

Bei einer anderen Kurve vierten Grades (Kurve a) spuckt mir dieses Verfahren als Lösungen nur einzelne Zahlen aus und keine von x abhängigen Terme, was keinen Sinn macht. Woran liegt das?


Gibt es irgendeine andere Möglichkeit, die Werte eine Kurve herauslesen zu lassen, um so eine Funktion zu definieren, mit der man weiterarbeiten kann?

Gruß,

David

Files: 123.ggb

Comments (25)

photo
1

Hallo David!


Also um mal einen Anfang zu machen.

Iich habe mir mal kurz Deine Gleichung a angeschaut und die lässt sich doch im Handumdrehen zumindest nach x auflösen, weil Du auf der rechten Seite x ausklammern kannst.

Ok, das liefert auch der Löse-Befehl direkt.


C V / (1 + y / K) - V y + W V / y = x c / (1 + W y / k) + x y - W x / y

C V / (1 + y / K) - V y + W V / y = x (c / (1 + W y / k) + y - W / y)

x=(C V / (1 + y / K) - V y + W V / y)/( c / (1 + W y / k) + y - W / y)
Dann hättest Du doch zumindest eine Funktion, die zwar in Abhängigkeit von y die x-Werte liefert, aber evtl. reicht Dir das ja schon.


Liebe Grüße

mire2

photo
1

Hallo mire2!

Vielen Dank schon mal für eine Antwort. Wenn es so einfach wäre, wäre ich froh, aber ich suche leider die y-Werte... Ich brauche eine Darstellung y=f(x), weil mich der Graph von -lg (y) im Intervall von 0 bis unendlich interessiert, d. h. ich möchte die y-Werte der Kurvenpunkte einfach nur noch logarithmieren. Da muss es doch einen Trick geben, schließlich kann Geogebra doch zu jedem x-Wert einen y-Wert bei einer beliebigen Kurve berechnen, sonst könnte das Programm so eine Kurve gar nicht plotten?!

Gruß David

photo
1

Warum dann nicht gleich?

C V / (1 - log10(y) / K) + V log10(y) - W V / log10(y) = x c / (1 - W log10(y) / k) - x log10(y) + W x / log10(y)
Weiter gibt es die Möglichkeit des Kurve-Befehls.

photo
1

Ok, ich habe es mir nochmal etwas genauer angesehen und das müsste eigentlich algebraisch funktionieren, auch wenn ich noch nicht genau weiß wie ich GeoGebra davon überzeugt bekomme. ;-)

Also


Löse(a,x)
liefert Dir als Lösung x=p(y)/q(y), wobei p und q Polynome vom Grad 4 sind.

Multipliziert man nun mit dem Nenner, dann bekommt man sowas wie: x*q(y)=p(y) bzw. p(y)-x*q(y)=0

Die letzte Gleichung ist ebenfalls eine Gleichung 4. Grades in y, für die es noch explizit anggebbare Lösungen gibt.

Jetzt weiß ich aber gerade nicht, wie ich GeoGebra dazu bringe, diese Lösungen in der Form y= Ausdruck in Abhängigkeit von x anzugeben, aber ich bin ja hier nicht der einzige und bestimmt fällt da jemand anderem noch was dazu ein.

Außerdem macht die Länge der Zahlen es nicht gerade einfach, den Überblick zu behalten. Vermutlich ist man hier mit symbolischem Rechnen erst einmal besser unterwegs.


Anbei mal als Anfang ein Dateianhang.

Gruß

mire2

Files: 1234.ggb
photo
1

Das CAS von GGb kann das nur bis zu Polynomgraden von 2. Siehe den Test im Anhang.

photo
1

Vielen Dank schon mal für die Antworten!

@Loco: Das mit y durch -lg(y) ersetzen funktioniert nicht so wie gewünscht, vergleiche z. B. für x=y+1:

y=x-1 --> -lg(y)=-lg(x-1) (so gewünscht)

und

x=-lg(y)+1 --> -lg(y)=x-1, was nicht dasselbe wie oben ist...


Wie stellst du dir die Anwendung des Kurvebefehls vor? Kurve[x, y(x)(danach suche ich gerade), x, 0, unendlich]? Das wäre nur eine Umformulierung oder?


@mire2: Das wäre so der Ansatz, wie ich mir das vorstelle, allerdings macht Geogebra schon irgendwas seltsames... Kannst du dir vorstellen, warum bei Verwendung von Löse($2,y) bei dir vier Zahlen als Lösungen ausgegeben werden??? Das passiert auch, wenn man direkt Löse(a,y) eingibt. Aber irgendwie muss man doch diese y-Werte ausgeben lassen, wo hat Geogebra die sonst her?


Übigens habe ich einen kleinen Tippfehler in meiner Kurve a. Sie ist eigentlich 5. Grades in y. Aber das ändert ja nicht so viel am grundlegenden Problem.

photo
2

Kennt vielleicht jemand ein anderes kostenloses Programm, dass das vllt bewerkstelligen könnte, falls es bei Geogebra nicht geht?

photo
1

Hi!


@loco:


Hmm, das ist ja irgendwie schon ein wenig schwach von GG, oder?

Aber mit konkreten Zahlen funktioniert das, glaube ich, noch, aber halt nicht symbolisch.


@David


Hmm, das mit der Änderung auf den Grad 5 ändert schon qualitativ etwas, denn für nur Polynome bis zum Grad 4 gibt es geschlossene algebraische Ausdrücke für die Lösungen, so wie Du es vermutlich bei quadratischen Funktionen, also Polynome vom Grad 2, mit der p-q-Formel her kennst.

Allerdings sehe ich jetzt in der neuen Datei nicht direkt, dass das jetzt vom Grad 5 sein soll, aber vermutlich bin ich da gerade betriebsblind.


Also ab jetzt brauchen wir gar nicht mehr nach geschlossenen algebraischen Ausdrücken suchen, sondern es geht um sogenannte numerische, also angenäherte Lösungen.

Daran ändert auch kein anderes Programm etwas, aber was mir jetzt spontan als Idee einfällt, was wir versuchen können ist das Folgende.

Der Kniff mit dem Auflösen nach x=p(y)/q(y) ist ja unabhängig vom Grad.

Wenn man jetzt weiß, dass Funktion und Umkehrfunktion graphisch im Grunde genommen nur an der 1. Winkelhalbierenden gespiegelt sind, dann spiegeln wir p(y)/q(y) doch einfach daran.

Dann hast Du einen Funktionsgraphen, nur halt keine dazugehörige explizite Funktionsgleichung, aber damit sollte man doch zumindest irgendwas rechnerisch/ablesetechnisch machen können.

Das jetzt mal so als Idee um kurz vor Mitternacht.


Lieben Gruß

mire2

photo
1

Das du eine doppellogarithmische Darstellung willst ging aus deinen Angaben nicht direkt hervor.

Ich schlage ein ähnliches Herangehen wie in der folgenden Beispieldatei vor.

Durch das Trennen der x(y) und y(x) Ausdrücke und dem Parametrisieren kann die Funktion als Kurve dargestellt werden und deren jeweiligen kartesischen Ausdrücke getrennt logaritmiert werden. Bedenke jedoch, dass der Parameter nichts mehr mit den Kurvenwerten zu tun hat (gutes Beispiel sind Ellipsen in Parameterdarstellung oder Polarkoordinatendarstellung). GGb scheint hier nicht etwas Probleme zu haben (siehe Kurve C_{log} und deren Wertebereich). Falls es nur um die numerische Darstellung geht hätte ich das in Matlab/Octave gemacht (GGb ist jedoch ganz nett zum testen).

Du kannst auch versuchen eine Punktemenge der implizieten Funktion zu gewinnen und diese dann entsprechend weiterverarbeiten und falls gewünscht eine Funktion im Logarithmusraum darauf approximieren oder mit Strecken zu verbinden.

photo
1

Zitat: Kennt vielleicht jemand ein anderes kostenloses Programm, dass das vllt bewerkstelligen könnte, falls es bei Geogebra nicht geht?

eventuell mit Wolfram-Alpha

(vielleicht mit einem andern Befehl (anstelle von solve) auch mit log() möglich)

Unterhalb der Funktion (in LaTex) ist die Auswahl "PlainText" zugänglich.

photo
2

@ mire2: Das könnte funktionieren, zumindest hätte man dann den Graphen. Kennst du einen Befehl, mit dem man x und y vertauschen kann? Manuell ist das kaum machbar :D


@Loco: Das probiere ich heute Abend mal mit meiner Kurve. Kann man mit so einer Darstellung noch weiterarbeiten, z. B. die Kurve ableiten?


@rami: Das funktioniert tatsächlich gut mit der Gleichung 3. Grades, aber eine von Grad 5 packt WA nicht mehr (oder zumindest steht da iwas komisches) :(

photo
1

x und y kann man beim Nutzen des Kurve-Befehls vertauschen.

Nicht direkt es ist dann eine Parameterkurve dafür gibt es jedoch meines Wissens aber Formeln.

Kann man in WA nicht einfach deine Gleichung mit x=-x und y=-y eingeben und eine doppellogarithmische Darstellung wählen (wenn die Substitution zulässig ist)?

photo
1

Die Substitution ist meiner Meinung nach, nach einfachen Tests, zulässig.

Du willst x und y vertauschen? Dann mach das schon in deiner impliziten Gleichung ist ja egal für was x und y steht.

Du willst die aufgetragenen Richtungen vertauschen dann substituiere x und oder y mit ihren jeweiligen negativen Ausdrücken.

Du willst die implizite Kirve teill- oder doppellogarithmisch auftragen? Sorry das geht in GGb nicht direkt.

Entweder du ermittelst eine Punktmenge und wendest darauf den Logarithmus an oder du ermittelst eine Parameterform und logarithmierst die jeweiligen kartesischen Ausdrücke. Das funktioniert und ist im Ansatz oben ausgeführt. Den Rest kannst du einfach ausprobieren.

Das direkte logarithmierte Plotten impliziter Funktionen können sicherlich teil/- wissenschaftliche Werkzeuge.

photo
1

Danke Loco, ich hab jetzt mal deine Vorlage genommen und auf die einfach Kurve x=y^2 angewandt, aber die Parametrisierung C_log stimmt leider nicht mit der gesuchten Funktion p(x)=-lg(wurzel(x)) überein. Ich weiß nicht, wo der Fehler liegt, aber ich vermute, dass wir beide nicht dasselbe meinen. Ich möchte ja im Prinzip nur einmal und nicht doppelt logarithmieren, also:

x=y^2

--> y1(x)=wurzel(x), y2(x)=-wurzel(x) (uninteressant)

Gesucht ist: p(x):=-lg(y1(x))=-lg(wurzel(x))


Ich glaube, dieses C_log macht irgendwas anderes, weil die Graphen von C_log und p einfach nicht übereinstimmen.

photo
1

Natürlich kannst du das nicht direkt für dich übernehmen. Das C_{log} bei mir logarithmiert die kartesischen Parameterkurvenanteile separat und stellt diese anschließend dar. Du hättest dir schon die Funktions- /Herangehensweise ansehen müssen.

Weiter unten findet sich meine abschließende Antwort zu diesem Thema.

Dort findest du auch was du scheinbar eigentlich willst.

photo
1

Tut mir Leid Loco, aber du verwendest hier, dass man die Gleichung nach y auflösen kann und das geht bei diesem Beispiel sehr leicht, aber im Allgemeinen geht das nicht. Könnte ich nach y auflösen, dann könnte ich mir die Parametrisierung sparen, weil ich sofort eine Funktion hätte, die die Kurve beschreibt.


Ich habe jetzt mit deinem Ansatz herumprobiert und mit Kurve C1 klappt die Parametrisierung fast, man muss nur noch an der Geraden y=x spiegeln, was Kurve C2 ergibt. Auf diese Weise sollte das mit jeder beliebigen Kurve klappen, auch wenn man nicht nach y auflösen kann. Verwendet man allerdings meine komplizierte Kurve d, dann kommt mit der analogen Parametrisierung b irgendwas komisches raus. Kann sein, dass ich noch den passenden Parameterbereich für t finden muss, aber der könnte sonstwo liegen... Ich glaube, das ist dann leider aussichtslos.

photo
1

Tut mir Leid David, aber kannst du dir das von jemand anderen hier erklären lassen? Ich habe alles dazu geschrieben was du wissen musst aber augenscheinlich kann ich schlecht erklären.

/AW1O1u0GZ7H3AAAAAElFTkSuQmCCAA==

Weiter scheine ich auch nicht zu verstehen was du willst.

photo
1

Ich denke, so funktionierts. Die Kurve ist ja tatsächlich nur von Grad 4 in y. Die Kurve wird bei GG im interessanten Bereich nur zu etwa einem Drittel dargestellt, aber an der Wahl des Parameters liegt das nicht. Bei manchen Parametereinstellungen macht der Graph sogar einen Knick und verläuft plötzlich linear, was keinen Sinn macht. Braucht man dafür mehr Rechenleistung oder ist die Software einfach am Limit?

photo
photo
1

/x9T17hc9j0RdAAAAABJRU5ErkJgggA=

photo
1

Ich wollte diesen Tread in etwa verstehen.

Leider, leider verstehe ich immer noch Nichts von Allem.

Bei meinem Rumpröbeln habe ich mal versucht die Implizite Kurve an x=y zu spiegeln um das y leichter rauslösen zu können. Geht nicht. Aber der folgende (unbewiesene) Weg ist vielleicht das berühmte Korn, des blinden Huhns.

photo
1

Also dass die Kurve a gespiegelt an der Geraden y=x den Graphen der Funktion b ergibt stimmt schon. Aber was ist bei dir lg(a)?

photo
1

lg(a) ist nur als Beispiel gedacht (Annahme). An der Kurve b (gespiegelte Implizite Kurve a) kann in GGB einfacher/mehr Operationen ausgeführt werden (zB lg(), Ableitung(), Spiegeln(), etc. ).

photo
1

Ja das stimmt, da b eine normale Funktion ist, kann man damit alles mögliche machen. Allerdings glaub ich nicht, dass lg(b(x)) gespiegelt an y=x dasselbe ist wie wenn man a nach y auflöst und dann p(x)=lg(y(x)) als Funktion definiert. Das wäre das, was ich suchen würde, aber so einfach ist das scheinbar nicht.

photo
1

Ahh rami eventuell kannst du ja übersetzen, ich lege dir in Kurzform dar was ich in etwa verstanden habe.

Gegeben ist:

  • eine implizite Funktion gif

Gesucht wird:

  • eine teil- oder doppellogarithmische Darstellung dieser Funktion
  • dabei soll diese Funktion scheinbar zusätzlich gif-gespiegelt werden und zusätzlich gif und oder gif gespiegelt werden

Probleme sind:

  • die Funktion liegt implizit vor
  • die implizite Funktion muss noch gekippt/gespiegelt werden
  • GGb kann keine implizite Funktion oder Kurven logarithmieren

Herangehensweise:

  • wie mire2 schon angemerkt hat kann diese Funktion zwar nicht nach gif aufgelöst werden (keine explizite Funktion gif kann analytisch gewonnen werden) aber eine Funktion gif ermittelt werden
  • da der Fragesteller seine implizite Funktion modifizieren will kann dies schon an der Definition geschehen, soll die Funktion an gif gespiegelt werden so kann das mit
    Ersetze(f, {x=y,y=x})
    zu Beginn erreicht werden (CAS)
  • soll noch zusätzlich die Richtung der Achsen geändert werden kann die Substitution noch durch x=-y und oder y=-x oder wenn keine Spiegelung gewünscht wird y=-y und oder x=-x modifiziert werden
  • möchte der Fragesteller nach einer Spiegelung nur das ehemalige x logarithmieren so beachte er, dass unter Umständen nun eine explizite Funktion gif vorliegt
  • durch das ermitteln eines expliziten Ausdrucks der Funktion kann nun die Funktion in eine Parameterform umgewandelt werden

    gif

    und im Kurve-Befehl verwendet werden

  • mit den einzelnen Zweigen/Bestandteilen/kartesischen Anteilen können nun beliebige Modifikationen separat durchgeführt werden zB. Spiegeln an gif:

    gif

    oder logarithmieren eines Bestandteils:

    gif

photo
1

Hallo Loco,

Herzlichen Dank für Deine Zusammenfassung.

Ich denke ich habe damit den Faden und das Verständnis zu diesem Thread gefunden (und dabei musste ich gar nichts in meine Sprache übersetzen!)

photo
© 2023 International GeoGebra Institute