Seite 1 von 1

Sägezahnfunktion plotten

Verfasst: Fr 8. Mär 2024, 09:24
von basti-fantasti-48
Servus ich möchte eine beliebige Sägezahnfunktion plotten in latex.
\begin{tikzpicture}
\begin{axis}[
	xlabel={x},
	%ylabel={y},
	ymax=1.1,
	grid=major,
	domain=0:5,
	samples=100,
	axis lines=left,
	legend pos=south east,
	]
	
	\addplot[red,domain=0:1,line width=1.5pt] {x^2};
	\addlegendentry{2}
	\addplot[blue,domain=0:1,line width=1.5pt] {x};
	\addlegendentry{$1$}
	
\end{axis}
\end{tikzpicture}
Kann mir da jemand helfen

Aktuell sind noch zwei beliebige Graphen im Diagramm (nicht beachten)

Re: Sägezahnfunktion plotten

Verfasst: Fr 8. Mär 2024, 09:41
von Stefan Kottwitz
So beispielsweise:
\documentclass[border=10pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{tikzpicture}
\begin{axis}[axis lines = middle,
    domain = 0:6, ymin=0, ymax=3,
    samples = 200, no marks, thick]
  \addplot {mod(\x,1)<1? mod(\x,1):0};
\end{axis}
\end{tikzpicture} 
\end{document}
Stefan

Re: Sägezahnfunktion plotten

Verfasst: Fr 8. Mär 2024, 10:08
von basti-fantasti-48
Danke @Stefan Kottwitz
\documentclass[border=10pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}\begin{tikzpicture} 
	\centering
	\begin{axis}[
        %xtick=\empty,ytick=\empty,
		xlabel={$t$},
		ylabel={$Q(t)  F(t)$},
		ymax=1,
		grid=major,
		domain=0:5,
		samples=100,
        width=\textwidth,
        height = 8cm,
		axis lines=left,
        %heigth=5cm,
		legend pos=south east, % Legende oben rechts
		]
		
		\addplot[red,line width=1.5pt] {mod(\x,1)<1? mod(\x,1):0};
		\addlegendentry{$Q(t)$};
		\addplot[blue,line width=1.5pt]{0.2*x};
		\addlegendentry{$F(t)$};
		
\end{axis}

	
	\end{tikzpicture}

		\end{document}
Der Sägezahn sollte im Bereich t 0 bis 1 auf 0,2 steigen dann wieder auf 0 (dann das gleiche) Wie geht das ich schaffe es nicht

Re: Sägezahnfunktion plotten

Verfasst: Fr 8. Mär 2024, 10:15
von Stefan Kottwitz
Dein Beispiel-Code ist nicht übersetzbar, da fehlt das Dokument-Skelett rundherum. Bei meinem Vorschlag ist es enthalten.

Stefan

Re: Sägezahnfunktion plotten

Verfasst: Fr 8. Mär 2024, 10:21
von basti-fantasti-48
Habe es ergänzt keine ahnung wieso es nicht geht jetzt

Re: Sägezahnfunktion plotten

Verfasst: Fr 8. Mär 2024, 10:51
von Stefan Kottwitz
Es geht im Sinne dass jetzt mit vollständigem Code das Dokument übersetzt wird.

Es sind andere Fehler im Code:
  • Mehrmals Leerzeilen in den axis-Optionen, das sind bei LaTeX Absatzumbrüche, nimm die mal raus
  • heigth=5cm ist keine richtige Option für die Achse, das muss auch raus
Da es nun vollständig ist, konnte ich das durch Klick auf "LaTeX-Ausgabe" erkennen, da ja nun ein echtes Log-File erzeugt wird wo der Fehler drinsteht.

Stefan

Re: Sägezahnfunktion plotten

Verfasst: Fr 8. Mär 2024, 10:57
von basti-fantasti-48
Habe es jetzt abgeändert es geht jetzt @Stefan Kottwitz

Re: Sägezahnfunktion plotten

Verfasst: Fr 8. Mär 2024, 11:43
von Stefan Kottwitz
Da brauchst Du den Wert nur durch 5 zu teilen:
\addplot[red,line width=1.5pt] {mod(\x,1)<1? mod(\x,1)/5:0};
Du siehst vllt. dass die Ecken nicht perfekt aussehen an den Sprüngen. Es wird besser, wenn Du die samples erhöhst, aktuell sind es 100, Du kannst es ja einfach mal auf 300 machen und vergleichen.

Stefan

Re: Sägezahnfunktion plotten

Verfasst: Fr 8. Mär 2024, 13:34
von basti-fantasti-48
danke perfekt