pgfplot 1/x plotten Thema ist als GELÖST markiert

Tabellen und Grafiken erstellen und anordnen


Tu

pgfplot 1/x plotten

Beitrag von Tu »

Liebe community,

ich versuche gerade die einfache Funktion 1/x mit pgfplots zu erstellen. Leider zeigt diese mir das wahre vom Ei.

hier ein Minimalbeispiel:
\documentclass[paper=a4,12pt]{scrartcl}
 
\usepackage{pgfplots}
\pgfplotsset{compat=1.7} 
\begin{document} 
 
\begin{figure} 
\centering
	\begin{tikzpicture}
		\begin{axis}
			\addplot gnuplot 
  [id=exp,mark=none,domain=-5:5]{1/(x)};
	\addlegendentry{Test}
		\end{axis}
			\end{tikzpicture}
	
		\end{figure}
	

	
\end{document}

Der Graph sieht halt recht eigenartig aus.
Wisst ihr vllt. voran das liegt.

Liebe Grüße
Tu

Epllus
Forum-Guru
Forum-Guru
Beiträge: 470
Registriert: So 23. Sep 2012, 17:31

Beitrag von Epllus »

Mathe ist leider schon etwas her, soll es so aussehen?
\documentclass[paper=a4,12pt]{scrartcl} 
  
\usepackage{pgfplots} 
\pgfplotsset{compat=1.7} 
\begin{document} 
  
\begin{figure} 
\centering 
   \begin{tikzpicture} 
      \begin{axis} 
         \addplot  
  [id=exp,mark=none,domain=-5:-0.1, samples=100]
  {1/x}; 
         \addplot  
  [id=exp,mark=none,domain=0.1:5, samples=100]
  {1/x}; 
   \addlegendentry{Test} 
      \end{axis} 
         \end{tikzpicture} 
    
      \end{figure} 
    
\end{document}
Da ich mich aber noch erinnern kann, dass die beiden nicht verbunden sein dürfen, hab ich die Funktion aufgesplittet.
Wenn du die beiden in einer haben möchtest, achte auf den Befehl "samples=100" mit dem funktionierts.

Hoffe es hilft
Epllus

Tu

Beitrag von Tu »

Vielen Dank Epllus. Das hat mir geholfen.
Aber was wurde durch die option "samples" geändert ?

Epllus
Forum-Guru
Forum-Guru
Beiträge: 470
Registriert: So 23. Sep 2012, 17:31

Beitrag von Epllus »

Es ist schwer zu erklären (und ganz genau weiß ich es auch nicht), aber bei samples gibt es eine Faustregel:
Je höher samples ist, desto genauer wird der Graf gezeichnet.
So besitzt der Graf bei samples=30 viele Ecken und Kanten, bei samples=100 dagegen, ist der Graf schon runder und hat kleinere Ecken, ab samples=500 sieht man keine Ecken und Kanten mehr.

Warum genau das Ganze ohne samples so aussieht wie es ohne samples aussieht … ist eine gute Frage.

Epllus

Tu

Beitrag von Tu »

Achso okay... jedenfalls funktioniert es. Danke nochmals :)

feuersaenger
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 91
Registriert: Mi 5. Okt 2011, 18:24
Wohnort: Rheinbach

Beitrag von feuersaenger »

Hallo,

wenn die funktion 1/x im Bereich -5:5 gezeichnet werden soll, liegt naheliegenderweise x=0 dazwischen. 1/0 ist jedoch nicht definiert.

Wenn Du nun der Wert von samples ungerade ist, faellt einer der samples genau auf die 0 - und da 1/0 nicht defniert ist, wird der weggelassen. Wenn der Wert von samples gerade ist, dann wird x=0 nie gesampelt und man sieht nicht, dass es da eine Singularitaet gibt.

Pgfplots hat einen switch, wie es mit so einen Fall kontrolliert: "unbounded coords". Mit "unbounded coords=jump" unterbricht es automatisch die Anzeige und laesst die Funktion ueber die Stelle "springen". Mit "unbounded coords=discard" wird die fragliche Stelle einfach weggeschmissen und die danebenliegenden Punkte werden verbunden.

Mit liebem Gruss

Christian

Tu

Beitrag von Tu »

Vielen Dank für die Information feuersaenger. Ich werde es sicherlich noch oft brauchen.

Liebe Grüße
Tu

Antworten