如何绘制带有 $n$ 的函数

如何绘制带有 $n$ 的函数

我想要绘制以下函数:

f=\sum_{n=1}^\infty f_n
where
f_n(x)=\begin{cases}
        n^2(x-n+1/n^2)  & \quad \text{if } n-1/n^2\leq x\leq n,\\
        n^2(-x+n+1/n^2) & \quad \text{if } n\leq x\leq n+1/n^2,\\
        0               & \quad \text{else}.
       \end{cases}

每个 f_n 都是一个三角形,因此整个图形将是这样的:(我错误地绘制了前两个三角形而没有截距) 图形

我利用 Tikz 按照以下方式创建前两个三角形:

\begin{tikzpicture}
\begin{axis}[
axis lines = left,
xlabel = $x$,
ylabel = {$f(x)$},
]
\addplot [
domain=0:1, 
samples=100, 
color=blue,
]
{x};
\addplot [
domain=1:1.75, 
samples=100, 
color=blue,
]
{-x+2};
\addplot [
domain=1.75:2, 
samples=100, 
color=blue,
]
{3*x-5};
\addplot [
domain=2:2.25, 
samples=100, 
color=blue,
]
{-4*x+9};
\end{axis}
\end{tikzpicture}

我只是想不明白如何画第三个三角形。

答案1

像这样?

在此处输入图片描述

我没有从你的方程式重建三角形,而是使用了你的 mwe 和草图。因为你喜欢画简单的三角形,我建议使用它们的重要点的坐标(如果它们是错误的,请采用它们来纠正值):

\documentclass[margin=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}

\begin{document}
    \begin{tikzpicture}
\begin{axis}[
axis lines = left,
xlabel = $x$,
ylabel = {$f(x)$},
xmax = 4.5,
ymax = 1.5,
xtick = {0,1,2,4},
xticklabels = {0,1,2,$n$},
ytick = {1},
no marks,
samples = 10,
]
\addplot +[blue]    coordinates {(0,0) (1,1) (1.75,0)};
\addplot +[blue]    coordinates {(1.75,0) (2,1) (2.25,0)};
\addplot +[blue]    coordinates {(3.95,0) (4,1) (4.05,0)};
    \draw[dashed,very thin] (0,1) -- (4,1);
    \draw[loosely dotted,very thick] (2.5,0.5) -- (3.5,0.5);
\end{axis}
    \end{tikzpicture}
\end{document}

相关内容