Random Funktion Plotten mit tkiz oder pfgplots

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: Random Funktion Plotten mit tkiz oder pfgplots

von feidel » Do 26. Mär 2015, 20:15

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) 2932 mal betrachtet

von Johannes_B » Mi 25. Mär 2015, 15:55

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.

von feidel » Mi 25. Mär 2015, 15:04

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) 2916 mal betrachtet

von Besserwisser » Mi 25. Mär 2015, 12:03

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.

von feidel » Mi 25. Mär 2015, 11:43

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....

von Besserwisser » Mi 25. Mär 2015, 11:32

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?

Random Funktion Plotten mit tkiz oder pfgplots

von feidel » Mi 25. Mär 2015, 11:25

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) 2918 mal betrachtet

Nach oben