Seite 1 von 1

\psplot zeichnet nicht den vollständigen Graph

Verfasst: Mo 5. Mai 2014, 19:12
von Sgamper
Hallo Zusammen
Bin neu hier und kenn mich noch nicht so aus, seid also bitte Nachsichtig.

Folgendes Problem: ich wollte eine etwas kompliziertere Funktion plotten und psplot zeichnet mir den Graph nicht vollständig. Bei mir bricht der plot bei etwa x=65 ab, obwohl ich ihn bis x=103 zu zeichnen wünsche.
Auch wenn ich nur von x=50 bis x=100 zeichnen will bricht er bei x=65 ab.
Weiss jemand Rat?
\documentclass{article}

\usepackage{pst-plot}

\begin{document}
%\pagestyle{empty}
        \begin{center}
        \psset{xunit=0.05,yunit=0.01}
        \begin{pspicture}[showgrid=false](0,-50)(110,600)
          \psaxes[Dx=10,Dy=50]{->}(0,0)(110,600)[$t$,80][$f$,0]
          \psplot[algebraic=true,plotpoints=10000]{0}{103}{500*2.718281828^(1.2*x)/(0.9*2.718281828^(1.2*x)+5)-x^3/2000}
        \end{pspicture}
        \end{center}


\end{document}

Verfasst: Di 6. Mai 2014, 23:13
von feuersaenger
Hi,

Deine Exponentialfunktion e^(1.2*x) wird riesig gross - vermutlich mehr als \psplot verkraft. Fuer 64 ist das von der Groessenordnung 10^33 . Siehst Du irgendwelche warnings in den log files?

Da Du e^(1.2*x) / (e^1.2 * x +5 ) rechnest koennt man ueberlegen, ab einem speziellen Wert von x einfach "1" anzunehmen und das produkt wegzulassen. Vielleicht geht es dann? Wenn pstricks einen Operator der Art " (x > 30 ? 1 : e^(1.2*x) / (e^1.2*x +5) )" hat, waere das eine option.

Mit liebem Gruss

Christian

Verfasst: Mi 7. Mai 2014, 07:28
von Sgamper
Hallo Christian

Danke für deie Gedanken. Ich denke da hast du recht. Ich werde mich versuchen schlau zu machen mit welchen Zahlen \psplot umgehen kann. Ich könnte mir vorstellen, dass intern mit float-Variablen gerechnet wird und diese grossen Zahlen nicht mehr korrekt verarbeitet werden können.

Ich hab nun folgenden Workaround gemacht, der auch ganz gut funktioniert.
          
\psplot[algebraic=true,plotpoints=10000]{0}{60}{500*2.718281828^(1.2*x)/(0.9*2.718281828^(1.2*x)+5)-x^3/2000}
\psplot[algebraic=true,plotpoints=10000]{60}{103.5}{500/0.9-x^3/2000}