PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Plotten von komplexen Funktionen



Schakal_No1
28-01-2007, 21:27
Hi,

ich weiß, ich bin der x.te, der danach fragt, wie man in Latex ordentlich Plots einbindet, ich hab mir allerdings alle Fragen zu diesem Thema durchgelesen und bleibe bei allen wieder an der gleichen Stelle hängen - das ich das Endprodukt nicht verstehe. Die einen sagen, man solle gnu-plot nehmen bzw octave, was ich mir installiert habe und zack - hatte ich ein Kommandofenster ohne irgendeine Ahnung, wie ich damit umgehen soll, also eine Skriptsprache für sich wieder. Hab auch kein ordentliches Manuel dazu gefunden, wenn dann nur unbrauchbaren Müll (kann das auch nur per Windows ansteuern, da mein Mac aus mir unbekannten gründen deutlich instabiler läuft). Ein anderer Vorschlag, den ich gesehen hab, war mit PSTricks oder wie dieses Package für Latex heißt. Da hab ich auch direkt ein tolles 100seiten langes Manual gefunden, das ich durchgearbeitet hab und was ich eigtl auch nicht so schlecht finde, wenns auch nicht das Optimum ist - ich muss nach jeder Eingabe ca. 2 min warten, bis der was produziert hat und kann mir dann erst ansehen, was da passiert ist - zum lernen ist das nicht sehr ermutigend, aber das ist mir egal, da die Qualität wenigstens stimmt.

Jetzt hab ich nur das Problem, dass ich mir das ganze in erster Linie beibringen wollte, um ein ordentliches Bild davon zu erzeugen, wie eine komplexe Folge konvergiert, mit Beschriftungen etc., allerdings habe ich in dem 100seiten langen Manual kein Wort darüber gefunden, ob der auch komplexe Plots anfertigen kann, was evtl auch daran liegt, dass ich die Syntax der Funktionseingabe quasi überhaupt nicht verstanden habe.

Daher jetzt meine Frage: Gibt es entweder ein deppensicheres Programm, mit dem ich halbwegs ordentliche Resultate erzielen kann oder zumindest irgend jemanden, der mir die Syntax von einer der anderen Varianten gut erklären kann - am besten mit Hinweis darauf, wie ich mein eigentliches Anliegen damit lösen kann? Wäre echt dankbar über Hilfe.

bischi
28-01-2007, 22:29
komplexe Plots = kompexwertig ?

Vielleicht solltest du mal ne Skizze oder was ähnliches posten - ich hab leider nicht ganz verstanden, was du machen möchtest...

MfG Bischi

localghost
28-01-2007, 23:01
Komplexwertige Funktionen werden in der Regel erst in Real- und Imaginärteil zerlegt, um diese Teile dann separat zu plotten. So ging es mir bei der dielektrischen Funktion aus der Festkörperoptik. Und wie bischi schon schreibt, wäre es schon gut zu erfahren, was genau du machen willst. Von GNUplot weiß ich, dass es zumindest mit komplexen Zahlen umgehen kann.

voss
29-01-2007, 11:10
Daher jetzt meine Frage: Gibt es entweder ein deppensicheres Programm, mit dem ich halbwegs ordentliche Resultate erzielen kann oder zumindest irgend jemanden, der mir die Syntax von einer der anderen Varianten gut erklären kann - am besten mit Hinweis darauf, wie ich mein eigentliches Anliegen damit lösen kann? Wäre echt dankbar über Hilfe.

gib ein Beispiel, dann kann man genau sagen wie es geht.
Mit PSTricks kann man faktisch alles in hochwertiger Form machen.

Herbert

Schakal_No1
29-01-2007, 16:00
hi,

hier ein Beispiel, das ich mit Photoshop erstellt habe. Die Farben sind in erster Linie da, damit man das Problem besser erkennen kann, die müssen bei dem Vorgang also nicht zwangsläufig erhalten bleiben.


http://images.imageload.biz/folge467ce.gif

mir geht es ja auch in erster Linie nicht darum, eine genaue Kopie dieses Bildes in Code zu haben, dann hab ich ja nix gewonnen. Perfekt wäre, wenn mir jemand die Syntax von z.B. PSTricks so erklären kann, dass ich das selbst kann, hab mir diese (http://sites.inka.de/picasso/TeXHP/PSTricks.zip) Anleitung durchgelesen und hab verstanden, wie man Kästchen zeichnet, Punkte reinsetzt usw, aber die Syntax fürs Funktionen zeichnen hab ich nichtmals im Ansatz verstanden, da steht nur sowas wie "versuche mal, die Syntax zu verstehen".

pospiech
29-01-2007, 18:20
Es gibt auf der Homepage von PStricks die komplette Dokumentation mit komplexen (und einfachen) Beispielen. Wenn du dich sowieso einarbeiten willst würde ich mir zudem das Buch von Herbert Voss (10-20 Euro) zu PStricks kaufen.

Matthias

Schakal_No1
29-01-2007, 18:31
mhm, ich find da irgendwie keine Beispiele für komplexe Plots, alles was ich sehe ist reell.
Kennt sich denn jemand mit der Syntax der Funktionen aus? da steht z.b. für den Plot von (sin t; sin 2t) als Befehl \parametricplot{0}{360}{t sin t 2 mul sin}, was für mich nichtmals im Ansatz Sinn ergibt. Für ein solch eigentlich simples Problem kann es doch nicht sein, dass man sich erst ein Buch kaufen muss, aber ich finde es nirgendwo erklärt.
auch verstehe ich ehrlich gesagt die Beispielsfunktion nicht, für mich ist eine Funktion nach dem Schema f(x)=sin x o.ä. aufgebaut, die Schreibweise mit (f(x);g(x)) hab ich vorher noch nie gesehen.

lupus68
29-01-2007, 19:13
Hallo Schakal_No1,

PSTricks verwendet die umgegehrte, auch polnische Notation.
Nein du mußt dir das Buch nicht kaufen sowas gibt es auch in der Bibo, notfalls Fernleihe. Aber vielleicht reichen dir ja auch für den Anfang die 2 verlinkten Kapitel, gut wirklich hilfreich inst nur das eine, das 2. ist eher zum "anfixen" gedacht, oder ?

achja der Preis liegt für "Normalos" bei kanpp 25 € -> DANTE-mitglieder haben IMHo einen Bonus.

Ich weiß nun nicht was in deinem Fall günstiger ist:
Die Folge extern zu berrechnen und als Datensatz einzufügen
oder eine Internen Berrechnung?

Vielleicht schreibst du uns ja mal die Formel die zur Erzeugung der Daten dient auf ;-)

juergen

localghost
29-01-2007, 19:50
mhm, ich find da irgendwie keine Beispiele für komplexe Plots, alles was ich sehe ist reell.
Kennt sich denn jemand mit der Syntax der Funktionen aus? da steht z.b. für den Plot von (sin t; sin 2t) als Befehl \parametricplot{0}{360}{t sin t 2 mul sin}, was für mich nichtmals im Ansatz Sinn ergibt. Für ein solch eigentlich simples Problem kann es doch nicht sein, dass man sich erst ein Buch kaufen muss, aber ich finde es nirgendwo erklärt.
auch verstehe ich ehrlich gesagt die Beispielsfunktion nicht, für mich ist eine Funktion nach dem Schema f(x)=sin x o.ä. aufgebaut, die Schreibweise mit (f(x);g(x)) hab ich vorher noch nie gesehen.
Wenn Du mit komplexen Funktionen zu tun hast, sollten dir Funktionen in Parameterform eigentlich nicht unbekannt sein. Eine Funktion wird dann in Abhängigkeit eines Parameters t geschrieben. So ergäbe zum Beispiel x(t)=(cos t,sin t) einen Kreis. Was Du da mit der Form f(x)=sin x beschreibst, ist die explizite kartesische Darstellung einer Funktion.

PSTricks benutzt ja zur Erzeugung der Grafiken Postscript-Code, und das äußert sich dann natürlich auch in der Form der Argumente für die Befehle.

\parametricplot{0}{360}{t cos t sin} % Kreis
Die Argumente werden im Stapel (stack) verarbeitet, was bei komplizierteren Funktionen schon mal leicht sehr unübersichtlich werden. Diese Unübersichtlichkeit wurde aber mit pst-func und pst-math gemildert.

Schakal_No1
29-01-2007, 22:22
ok, ich bin jetzt schonmal ein ganzes Stück weiter, bleiben nur noch 2 Fragen: 1. kann man in PSTrick auch kartesische Funktionen eingeben oder geht das generell nur in polnischer? Jetzt wo ich weiß, dass das polnische Notation ist, werd ich damit schon irgendwie zurechtkommen, ham das glaub ich irgendwann in der Schule mal gemacht, muss ich aber kramen, ist aber extrem unübersichtlich so, daher wer mir ne kathesische lieber.
eine Frage noch an Lupus: was für 2 verlinkte Kapitel meinst du?

voss
29-01-2007, 22:40
hi,

hier ein Beispiel, das ich mit Photoshop erstellt habe. Die Farben sind in erster Linie da, damit man das Problem besser erkennen kann, die müssen bei dem Vorgang also nicht zwangsläufig erhalten bleiben.

mir geht es ja auch in erster Linie nicht darum, eine genaue Kopie dieses Bildes in Code zu haben, dann hab ich ja nix gewonnen. Perfekt wäre, wenn mir jemand die Syntax von z.B. PSTricks so erklären kann, dass ich das selbst kann, hab mir diese (http://sites.inka.de/picasso/TeXHP/PSTricks.zip) Anleitung durchgelesen und hab verstanden, wie man Kästchen zeichnet, Punkte reinsetzt usw, aber die Syntax fürs Funktionen zeichnen hab ich nichtmals im Ansatz verstanden, da steht nur sowas wie "versuche mal, die Syntax zu verstehen".

damit kann man nichts anfangen. Du sollst eine Gleichung angeben, die obigen
Plot erzeugt, den man auch mit orinären Parameterfunktionen erhalten kann.

Herbert

localghost
29-01-2007, 22:42
Lies Dir mal die Dokumentationen von pst-func (ftp://dante.ctan.org/tex-archive/help/Catalogue/entries/pst-func.html) und pst-math (ftp://dante.ctan.org/tex-archive/help/Catalogue/entries/pst-math.html) durch. Dort wird genau beschrieben, wie man die zu plottenden Funktionen in einfacher Weise eingeben kann.

Schakal_No1
30-01-2007, 09:36
hmm, da find ich nur sowas wie, dass "x sin" = sin x ist, ne wirkliche Erklärung seh ich da auch nicht. Die sagen da, was die alles für schöne Funktionen haben, aber die scheinen alle schön nach dem Muster "sin x" oder so aufgebaut zu sein, bei gebrochen rationalen Funktionen hörts da schon auf. Und dass wenn ich die Variable und dann den Funktionsnamen eingebe ich eine Funktion mit der Variable erhalte ist mir schon klar. Aber beispielsweise die Funktion "t sin t 2 mul sin", was macht die? erstmal sin t, aber dann?? multipliziert mit sin 2t oder t multipliziert mit sin 2 oder 2mal mutlipliziert mit sin t? da sind meine Probleme. Und da hab ich in der Anleitung leider auch keine Hilfe gefunden.

eine Gleichung für den obigen Plot wäre sowas wie a_n=(-0,9-i*0,8)^n+2+i*2 für den Wirbel rechts (natürlich nicht exakt so, aber das müsste auch einen ähnlichen erzeugen) und dann die Punkte erst da hinzuführen wär kein großes Problem (einfach eine Punktelinie).

localghost
30-01-2007, 16:42
Wie schon erwähnt, verarbeitet Postscript solche Plotdaten im Stapel.

\parametricplot{0}{360}{t sin t 2 mul sin}
Dies entspricht der Funktion x(t)=[sin t,sin(2t)], also einer Parameterdarstellung . Vielleicht wird dir an diesem Beispiel klar, wie die Reihenfolge der Verarbeitung aussieht. Das Ergebnis ist übrigens eine Lissajous-Figur.

Für Funktionen in kartesischer Darstellung fällt mir da noch das Paket pst-infixplot (ftp://dante.ctan.org/tex-archive/help/Catalogue/entries/pst-infixplot.html) ein. Da kann man Funktionen in gewohnter Schreibweise eingeben.

voss
30-01-2007, 16:53
hmm, da find ich nur sowas wie, dass "x sin" = sin x ist, ne wirkliche Erklärung seh ich da auch nicht. Die sagen da, was die alles für schöne Funktionen haben, aber die scheinen alle schön nach dem Muster "sin x" oder so aufgebaut zu sein, bei gebrochen rationalen Funktionen hörts da schon auf. Und dass wenn ich die Variable und dann den Funktionsnamen eingebe ich eine Funktion mit der Variable erhalte ist mir schon klar. Aber beispielsweise die Funktion "t sin t 2 mul sin", was macht die? erstmal sin t, aber dann?? multipliziert mit sin 2t oder t multipliziert mit sin 2 oder 2mal mutlipliziert mit sin t? da sind meine Probleme. Und da hab ich in der Anleitung leider auch keine Hilfe gefunden.




\documentclass{article}
\usepackage{pstricks-add}

\begin{document}

\psset{unit=5}
\begin{pspicture}(-1,-1)(1,1)
\psaxes{->}(0,0)(-1,-1)(1,1)
\parametricplot[algebraic,plotpoints=1000,
linecolor=red,linewidth=1pt]{0}{40}{sin(t)|sin(2*t)}
\end{pspicture}

\end{document}


Herbert

Schakal_No1
30-01-2007, 18:17
Für Funktionen in kartesischer Darstellung fällt mir da noch das Paket pst-infixplot (ftp://dante.ctan.org/tex-archive/help/Catalogue/entries/pst-infixplot.html) ein. Da kann man Funktionen in gewohnter Schreibweise eingeben.

ah danke, das ist genau das, was ich brauche.

FookMi
31-01-2007, 09:11
Kann PS-Tricks auch so etwas plotten? Dann würde es für mich sehr interessant werden...
http://www.anglerfans.de/tmp/zugriffe/mathe/verf.jpg

voss
31-01-2007, 22:09
Kann PS-Tricks auch so etwas plotten? Dann würde es für mich sehr interessant werden...


für 0<|x|<1 nimmt man defür eh eine Reihenentwicklung, die von pstricks-add mit
einem iegenen PostScript-Befehl unterstützt wird. pst-func kennt die Simpsonregel,
mit der du das ebenfalls berechnen könntest.

Herbert