Problem mit TikZ/pgf-Plots und Gnuplot

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Problem mit TikZ/pgf-Plots und Gnuplot

von Mac-Cherony » Mo 22. Aug 2011, 22:00

Hallo Christian,

vielen Dank für deine Hilfe, es hat bestens funktioniert. Und wer könnte mir bei solch einem Problem besser weiterhelfen als der Paketautor persönlich?! ;) Deswegen nicht nur Danke für die Lösung des Problems, sondern auch für die Bereitstellung eines solch umfassenden und besonders hilfreichen Paketes!!! Da können sich dann auch schonmal ein paar Bugs einschleichen ;) Wenn man aber damit arbeitet, dann zweifelt man ja zunächst erstmal an sich selbst....

herzliche Grüße
Stefan

von Feuersaenger » Mo 22. Aug 2011, 20:58

Hi Mac-Cherony,

vgl. meine Antwort auf Deinen post unter http://tex.stackexchange.com/questions/ ... ts-gnuplot

offenbar bist Du ueber einen bug in pgfplots gestolpert (sorry dafuer). Ich hoffe, der tip dort hilft Dir weiter (explizit samples und samples y in pgfplots auf dasselbe setzen wie set isosamples=<x>,<y> in dem raw gnuplot code)

Mit liebem Gruss

Christian

von Mac-Cherony » Mi 17. Aug 2011, 20:06

Soooo, mittlerweile habe ich ein bisschen weiter "rumprobiert" und mein Code sieht mittlerweile so aus:
\documentclass{scrartcl}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.3}
\begin{document}

\begin{figure}[h!]
\centering
\begin{tikzpicture}
\begin{axis}[colormap/greenyellow,colorbar, view={0}{90}]
\addplot3[raw gnuplot] gnuplot[surf,mesh/check=false,samples=100]{
c=1e-5;
a=100e-6;
b=20e-6;
p=-100000;
K=((16*a**2)/(c*pi**3))*(-p);
Sum(i,x,y)=K*(((-1)**(0.5*((2*i-1)-1)))*(1-((cosh(((2*i-1)*pi*y)/(2*a)))/(cosh(((2*i-1)*pi*b)/(2*a)))))*((cos(((2*i-1)*pi*x)/(2*a)))/((2*i-1)**3)));
u(i,x,y)=(i==0)?0:u(i-1,x,y)+Sum(i,x,y);
splot [-a:a] [-b:b] u(20,x,y)};
\end{axis}
\end{tikzpicture}
\caption{So soll es nicht aussehen. Es müssen noch viel mehr Datenpunkte berechnet werden...}
\end{figure}

\begin{figure}[h!]
\centering
\begin{tikzpicture}
\begin{axis}[colormap/greenyellow,colorbar,view={0}{90}]
\addplot3[surf,domain=0:360,samples=25]
{sin(x)*sin(y)};
\end{axis}
\end{tikzpicture}
\caption{...aber so soll es in etwa sein!!! Nur leider ist das die falsche Funktion und die ist auch nicht mit Gnuplot berechnet}
\end{figure}

\end{document}
Das hat mich meinem Ziel zwar etwas näher gebracht, aber zufrieden bin ich damit bei weitem nicht. Ich glaube in einem solchen Fall ist es wirklich einfacher, die Funtkion direkt in Gnuplot über das Postscript Terminal zu exportieren. Ich hätte es halt schön gefunden alles einheitlich mit pgf-Plots zu machen. Interessant bei meinem obigen Code finde ich übrigens, dass der Graph wieder schlechter dargestellt wird, wenn sample=500 oder sogar noch größer gesetzt wird. Es war ein reiner Glücksgriff, dass ich es mit sample=100 gestet habe und da der Graph am besten dargestellt wird.

Wenn mir hier trotzdem noch Jemand weiterhelfen möchte, kann er das gerne konkret an meinem Beispiel tun, oder wer Beispiele für 3-dimensionale Funktionen aller Art postet, die mit Gnuplot im Zusammenspiel mit pgf-Plots erstellt worden sind bin ich darüber auch sehr dankbar.

Problem mit TikZ/pgf-Plots und Gnuplot

von Mac-Cherony » Di 16. Aug 2011, 21:47

Guten Abend allerseits,

ich habe hier ein kleines Problem mit TikZ bzw. pgf-Plots und Gnuplot. Konkret lässt sich das mit folgendem Minimalbeispiel nachvollziehen:
\documentclass{scrartcl}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.3}
\begin{document}

\begin{figure}[h!]
\centering
\begin{tikzpicture}
\begin{axis}[colormap/greenyellow,colorbar]
\addplot3[surf,samples=40] gnuplot[raw gnuplot, mesh=false]{
set pm3d;
set xtics 0;
set ytics 0;
c=1;
a=10;
b=10;
p=-1;
K=((16*a**2)/(c*pi**3))*(-p);
Sum(i,x,y)=K*(((-1)**(0.5*((2*i-1)-1)))*(1-((cosh(((2*i-1)*pi*y)/(2*a)))/(cosh(((2*i-1)*pi*b)/(2*a)))))*((cos(((2*i-1)*pi*x)/(2*a)))/((2*i-1)**3)));
u(i,x,y)=(i==0)?0:u(i-1,x,y)+Sum(i,x,y);
splot [-a:a] [-b:b] u(15,x,y)};
\end{axis}
\end{tikzpicture}
\caption{So soll es nicht aussehen...}
\end{figure}

\begin{figure}[h!]
\centering
\begin{tikzpicture}
\begin{axis}[colormap/greenyellow,colorbar]
\addplot3[surf,domain=0:360,samples=40]
{sin(x)*sin(y)};
\end{axis}
\end{tikzpicture}
\caption{...aber so soll es sein!!!}
\end{figure}

\end{document}
Berechnung über Gnuplot scheint Problemlos zu funktionieren, allerdings habe ich versucht den Stil analog zu Beispielen aus dem pgf-Plots-Manual zu verändern. Daran bin ich jedoch sang- und klanglos gescheitert. Letztendlich möchte ich vorerst ein Gitter erzeugen, wie es in Abbildung 2 im Minimalbeispiel dargestellt ist. Weiß hier vielleicht Jemand weiter?

Viele Grüße

Mac-Cherony

edit: ich habe die pdf-Datei noch angehängt
Dateianhänge
Beispiel.pdf
(94.54 KiB) 398-mal heruntergeladen

Nach oben