PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : regression mit tikz



jonas88
24-11-2009, 20:01
Hallo,

ich habe zwei Fragen:

Ich lese eine (bzw mehrere) .table Dateien in tikz ein und mache plot daraus. Wie kann ich eine Regressionsgerade darüberlegen?
Kann ich mehrere Datensätze in eine table Datei stecken und diese dann im code trennen (am besten auch mit unterschiedlichen Farben plotten)


danke schonmal
Jonas

TheLawyer
26-11-2009, 09:43
Moin,

Benutzt du Gnuplot?
Dann geht das relativ einfach mit pgfplots. Allerdings musst du dir die Parameter für die Fitfunktion irgendwo anders besorgen.

\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{tikz}
\usepackage{pgfplots}

% GNUPLOT required \begin{document}
\pagestyle{empty}
\begin{figure}[htb]
\begin{tikzpicture}[domain=-6.01:6,smooth]
\begin{axis}[%
axis x line=center,%
axis y line=center,%
]%

% Benutze Gnuplot um eine Funktion zu ploten
\addplot[color=green] plot function{4*abs(besj1(1.1*x)/(1.1*x))*abs(besj1(1.1*x)/(1.1*x))};
\addlegendentry{$J_1^2(x)$}

% Plotte Daten aus externer Datei
\addplot[color=red] plot table[x=r, y=ver] {led121m099.txt};
\addlegendentry{ver}
\addplot[color=orange] plot table[x=r, y=hor] {led121m099.txt};
\addlegendentry{hor}

\end{axis}
\end{tikzpicture}
\end{figure}

\end{document}
Die Tabellendatei (led121m099.txt) sieht ungefähr so aus:


r hor ver
-46.333 -0.00970874 0
-46.1627 0.00485437 0
-45.9923 0.0145631 0
-45.822 -0.00485437 0
-45.6516 -0.0145631 0
-45.4813 0.00485437 0
...
Ich hoffe mal, das hilft dir schon.

p.s.: Hier gibt es eine Anleitung (http://www.cs.grinnell.edu/%7Eweinman/courses/CSC213/2008F/labs/10-pingpong-regression.pdf), um direkt mit Gnuplot zu fitten, aber ob sich das effizient in Latex einbauen lässt, musst du selbst ausprobieren.

jonas88
28-11-2009, 15:49
danke, das löst ja schonmal das erste Problem...also direkt die Regressionsgerade berechnen ist nicht möglich?

danke!

PS: normalerweise benutze ich R

EDIT: ich hab grad mal versucht dein Beispiel zu kompilieren, aber das hat nicht funktioniert, weil angeblich pgfplots fehlt. Aber ich hab textlive-full installiert, da müsste es doch drin sein, oder?