PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PostScript: Syntax beim Plotten von Funktionen?



SuperBonk
05-01-2007, 13:48
hellas,

Ich arbeite gerade mit pstricks und würde gerne eine Funktion plotten mit \psplot. Leider habe ich das Problem, dass ich die Syntax für mathematische Funktionen im Postscript nicht verstehe. Ich habe zwar schon einiges gegoogelt, aber die entsprechenden Dokumentationen geben nur die Operatoren an (div, mul, sin etc), aber nun begreife ich nicht, wie ich diese Operatoren gebrauchen soll.

Aus der pstricks-Doku habe ich folgendes Beispiel zur Probe übernommen:

\psplot[plotpoints=100]{0}{90}{x sin x 2 div 2 exp cos mul}

und es hat einwandfrei funktioniert.

Dann probierte ich eine einfache Funktion:

\psplot[plotpoints=100]{0}{90}{x sin x}

und ich erhielt kein Bild (ohne Fehlermeldung). Aber offensichtlich stimmt meine Syntax irgendwie nicht.

Die Funktion, die ich eigentlich gerne darstellen würde ist:

y = sin(x)*exp(-x/C),

wobei ich C erst noch variieren wollte, damit das Bildchen schön ausschaut.

Als ich es mit:

sin x exp neg x div 0.1 oder
sin x mul exp neg x div 0.1 oder
sin x exp neg x div 0.1 mul

probierte, erhielt ich ebenfalls kein Bild.


Und jetzt habe ich keine Ideen mehr. Es wäre super nett, wenn mir jemand weiter helfen könnte - entweder durch Erklären der Syntax (mit anschaulichen Beispielen :) ), oder durch einen guten Link, oder durch "Übersetzen" meiner Funktion in Postscript-Syntax. Ich würde mich über jede Hilfe freuen.

LG,

eva

SuperBonk
05-01-2007, 14:57
So ...

ich denke, das mit dem stack habe ich mittlerweile halbwegs begriffen. Soweit bin ich gekommen:

x sin x neg div "Zahl" mul

Jetzt müsste ich meinem Rechner nur näher bringen, dass "x neg div ZAHL" der Exponent der Eulerschen Zahl sein soll. Mit "exp" ist das ja nur zur Hälfte getan. Weiß jemand, welche Bezeichnung die Eulersche Zahl in PS hat?

mehlvogel
05-01-2007, 17:56
Ich habs mal hierher geschoben, ist doch eher ein Latex Problem.

localghost
05-01-2007, 18:12
So ...

ich denke, das mit dem stack habe ich mittlerweile halbwegs begriffen. Soweit bin ich gekommen:

x sin x neg div "Zahl" mul

Jetzt müsste ich meinem Rechner nur näher bringen, dass "x neg div ZAHL" der Exponent der Eulerschen Zahl sein soll. Mit "exp" ist das ja nur zur Hälfte getan. Weiß jemand, welche Bezeichnung die Eulersche Zahl in PS hat?
In der Syntax von PostScript gibt es keine Konstanten wie e. Die musst Du explizit angeben. Für

y = sin(x)*exp(-x/C)
sieht das dann so aus.

\psplot[plotpoints=100]{0}{90}{x sin 2.71828 x neg C div exp mul}
Dabei musst Du das C natürlich durch einen gültigen Ausdruck ersetzen. Am besten ist erst mal eine konstante Zahl, um das zu prüfen. Ich selbst habe das jetzt nicht getestet, bin mir aber fast sicher, dass es funktioniert.

voss
06-01-2007, 11:32
Die Funktion, die ich eigentlich gerne darstellen würde ist:

y = sin(x)*exp(-x/C),

wobei ich C erst noch variieren wollte, damit das Bildchen schön ausschaut.

Als ich es mit:

sin x exp neg x div 0.1 oder
sin x mul exp neg x div 0.1 oder
sin x exp neg x div 0.1 mul

probierte, erhielt ich ebenfalls kein Bild.



\documentclass[a4paper,10pt]{article}
\usepackage{pstricks-add}
\begin{document}

\def\Const{5}

\psset{yunit=3cm}
\begin{pspicture}(-0.5,-1.5)(10,1.5)
\psaxes[Dy=0.2,dy=0.2]{->}(0,0)(0,-1)(10,1.2)
\psplot[algebraic,linewidth=1pt,linecolor=red]{0}{9.5}{sin(x)*Euler^(-x/\Const)}
\end{pspicture}

\end{document}


Herbert