Hallo, ich habe wieder ein recht ähnliches Problem beim Plotten von Funktionen [vgl. Gibbs]. Ich habe bereits die Funktionen (Dirichletkerne) geplottet und möchte nun noch die Fejérkerne darstellen. Das Problem, das hier entsteht ist, dass ich für jeden Plot (z.B. für N=7) gerade diesen Wert in meine "Schleife" Open in writeLaTeX
\foreach \m in {1,...,\N} { \xdef\sn{\sn+4/pi*sin(deg((2*\m-1)*pi*x))/(2*\m-1)} setzen müsste [vgl. gesamter Code], was mir jedoch nicht gelingt... Ich möchte nun die Funktion(en) plotten. Z.B. für N=2,3 und 4, ähnlich wie in meinem Beispiel für die Dirichletkerne [s.u.] Open in writeLaTeX
\begin{tikzpicture}[thick,scale=0.42, every node/.style={scale=2}] \begin{axis}[ no markers, samples=199, smooth, domain=-0.4:0.4, axis lines=middle, xtick = {-0.3, -0.2, -0.1, 0.1, 0.2, 0.3}, width=\linewidth % enlarge y limits=0.1 ] \pgfplotsinvokeforeach{1,2,3}{ \xdef\sn{} \foreach \m in {1,...,#1} { \xdef\sn{\sn+2*cos(deg((2*\m)*pi*x))} } \expandafter\addplot\expandafter{\sn}; %\addlegendentry{$F_{#1}(f)(x)$}; } \begin{scope}[ every node/.style = {draw,fill=blue,circle,inner sep=1pt} ] %\draw (axis cs:0,1) node[label={[blue]above right:A}] {} -- (axis cs:0.5,1) node[label={[blue]above right:B}] {}; %\draw (axis cs:0,-1) node[label={[blue]above right:C}] {} -- (axis cs:-0.5,-1) node[label={[blue]above right:E}] {}; %\draw (3,-.2) -- (3,0) node[below=4pt] {$\frac{3}{2}k_1$}; \end{scope} \end{axis} \end{tikzpicture} Ich hoffe, ich konnte mein Problem verständlich schildern und bedanke mich fürs Lesen. LG Niklas
Dieser Frage ist "Community Wiki" markiert.
|
Wenn Du für N=2, 3 und 4 in einem Plot haben möchtest, dann ginge das zum Beispiel mit Open in writeLaTeX
\documentclass[margin=5pt]{standalone} \usepackage{pgfplots} \pgfplotsset{compat=newest} \begin{document} \begin{tikzpicture}[thick] \begin{axis}[ no markers, samples=200, smooth, domain=-0.4:0.4, axis lines=middle, enlarge y limits={0.05,upper}, xtick = {-0.3, -0.2, -0.1, 0.1, 0.2, 0.3}, ] \pgfplotsinvokeforeach{2,3,4}{ \addplot{pow(sin(deg(pi*x*(#1+1)))/sin(deg(pi*x)),2)/(#1+1)}; } \end{axis} \end{tikzpicture} \end{document} Statt Open in writeLaTeX
\foreach \N in {2,3,4}{ \addplot{pow(sin(deg(pi*x*(\N+1)))/sin(deg(pi*x)),2)/(\N+1)}; } verwenden. beantwortet 11 Mai '14, 22:39 esdd Super, eine tolle Lösung!
(11 Mai '14, 23:39)
uniQue_
|
Eine andere Lösung würde mich auch interessieren. Hauptsache eine Lösung :-)