Random Funktion Plotten mit tkiz oder pfgplots

Tabellen und Grafiken erstellen und anordnen


feidel
Forum-Anfänger
Forum-Anfänger
Beiträge: 18
Registriert: Do 18. Dez 2014, 08:25

Random Funktion Plotten mit tkiz oder pfgplots

Beitrag von feidel »

Hallo,

meine Frage ist wie kriege ich in so eine Funktion geplottet. Ich habe den Graphen mal mit Paint eingezeichnet, wie es ungefähr aussehen soll.
Ziel:
Bild

Grundgerüst
\documentclass[tikz,12pt]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\usepackage{lmodern}

\begin{document}
	\centering
	\begin{tikzpicture}[scale=1.2, thick]
		%KO-System
		\draw[-latex] (-6.5,0) -- (6.5,0) node[right] {$\varphi$};
		\draw[-latex] (0,-0.1) node[below] {0} -- (0,6.5) node[above] {$s \left[\mathrm{\mu m}\right]$};
		\draw (-6,-0.1) node[below, xshift=-1.52mm] {$-\pi$} -- (-6,0.1);
		\draw (6,-0.1) node[below] {$\pi$} -- (6,0.1);
		\foreach \y/\ytext in {1/5,2/10,3/15,4/20, 5/25, 6/30}
			\draw (-0.1,\y) -- (0.1,\y) node[right, xshift=-1mm] {$\ytext$};
	\end{tikzpicture}	
\end{document}
Gibt es da eine einfache Methode? :D
Dateianhänge
plot.png
plot.png (13.48 KiB) 2831 mal betrachtet

Besserwisser

Beitrag von Besserwisser »

Wo sind die Werte? Hast du in der Anleitung nachgelesen, wie man mit pgfplots eine Funktion plottet bei der man entweder die Werte oder die Funktion zur Erzeugung der Werte kennt? Hast du dir die entsprechenden Beispiele angeschaut? Was ist denn eigentlich das konkrete Problem?

feidel
Forum-Anfänger
Forum-Anfänger
Beiträge: 18
Registriert: Do 18. Dez 2014, 08:25

Beitrag von feidel »

Meine Frage ist, ob es einfache Methoden gibt es mit tikz zu machen mit Hilfe des \draw Befehls oder ähnlichen.

Oder muss ich jetzt eine Funktion suchen, die meiner ähnlich ist um sie Plotten zu können. Z.B. eine Glockenfunktion mit einer Störfunktion drauf, damit man dieses Randomsprünge hat.

Oder ich kann mir auch Werte generieren lassen und die dann Plotten. Jedoch könnte es ja noch eine einfachere Methode geben....

Besserwisser

Beitrag von Besserwisser »

Heißt das, du kennst weder die Funktion noch die Werte dafür, sondern suchst danach, weiß aber eigentlich schon wie man dann plottet? Sorry, aber mir ist noch immer nicht klar, was die eigentliche Frage ist.

feidel
Forum-Anfänger
Forum-Anfänger
Beiträge: 18
Registriert: Do 18. Dez 2014, 08:25

Beitrag von feidel »

Ich habe es jetzt so gelöst, dass ich mir Datenpunkte generiert habe und diese dann eingelesen habe... was ich wissen wollte, ob es eine etwas feinere Methode gibt so eine Grafik herzustellen.
\documentclass[tikz,12pt]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\usetikzlibrary{datavisualization}
\usepackage{lmodern}
\usepackage[decimalsymbol=comma]{siunitx}

\begin{document}
	\centering
	\begin{tikzpicture}[scale=1.2, thick]
		%KO-System
		\draw[-latex] (-6.5,0) -- (6.5,0) node[right] {$\varphi$};
		\draw[-latex] (0,-0.1) node[below] {0} -- (0,5.5) node[above] {$s \left[\mathrm{\mu m}\right]$};
		\draw (-6,-0.1) node[below, xshift=-1.52mm] {$-\pi$} -- (-6,0.1);
		\draw (6,-0.1) node[below] {$\pi$} -- (6,0.1);
		\foreach \y/\ytext in {1/5,2/10,3/15,4/20, 5/25}
			\draw (-0.1,\y) -- (0.1,\y) node[right, xshift=-1mm] {$\ytext$};
			
		\datavisualization [xy Cartesian, visualize as smooth line]
			data {
x, y
-6.00, 2.948
-5.95, 2.910
-5.90, 2.765
[viele weitere Datenpunkte...]
-0.10, 3.893
-0.05, 3.924
0.00, 4.405
0.05, 4.389
0.10, 3.912
[viele weitere Datenpunkte...]
5.80, 2.642
5.85, 2.628
5.90, 2.426
5.95, 2.605
6.00, 2.948
			};
	\end{tikzpicture}	
\end{document}
Bild

Eventuell zeigt mir ja jemand noch einen anderen Weg...
Dateianhänge
1.png
1.png (17.11 KiB) 2829 mal betrachtet

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Was mir zuallererst auffällt, ist das kursive Mu, welches aufrecht sein sollte. Das Paket siunitx, welches du bereits lädst hilft dir dabei.

Wenn du so einen Plot als Beispiel haben willst, und wirklich keine konkreten Werte hast, dann wirklich Gauß und Noise. Und da muss ich spontan an Jakes Antwort denken, Filling specified area by random dots in TikZ.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

feidel
Forum-Anfänger
Forum-Anfänger
Beiträge: 18
Registriert: Do 18. Dez 2014, 08:25

Beitrag von feidel »

Danke für den Hinweis Johannes. Ich habe es mal jetzt mit der Randomfunktion von tikz probiert und eine etwas einfachere Lösung gefunden.
\documentclass[tikz,12pt]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\usepackage{lmodern}
\usepackage[decimalsymbol=comma]{siunitx}

\begin{document}
	\centering
	\begin{tikzpicture}[scale=1.2, thick, 
	declare function={a(\x)=(3/4*sqrt(2*pi))*exp(-(\x*\x)*6/5)+2.25;}]
		%KO-System
		\draw[-latex] (-6.5,0) -- (6.5,0) node[right] {$\varphi$};
		\draw[-latex] (0,-0.1) node[below] {0} -- (0,5.5) node[above] {$t \left[\si{\micro\m}\right]$};
		\draw (-6,-0.1) node[below, xshift=-1.52mm] {$-\pi$} -- (-6,0.1);
		\draw (-3,-0.1) node[below, xshift=-1.52mm] {$-\frac{\pi}{2}$} -- (-3,0.1);
		\draw (6,-0.1) node[below] {$\pi$} -- (6,0.1);
		\draw (3,-0.1) node[below] {$\frac{\pi}{2}$} -- (3,0.1);
		\foreach \y/\ytext in {1/5,2/10,3/15,4/20, 5/25}
			\draw (-0.1,\y) -- (0.1,\y) node[right, xshift=-1mm] {$\ytext$};
			
		\draw plot[domain=-6:6, samples=200, thin, smooth] (\x, {a(\x)+0.12*rand*(a(\x))});	
	\end{tikzpicture}	
\end{document}
Bild

Ich bin immer wieder begeistert, was man alles mit diesen Paket machen kann :).
Dateianhänge
1.png
1.png (12.81 KiB) 2845 mal betrachtet

Antworten