但也许你想要的是这个:

但也许你想要的是这个:

我想绘制以下序列但我不知道该怎么做。

f_n(t)=
\begin{cases}     
-1,~ -1\leq t\leq -\frac1n,\\     
\frac{t}{n},~~~\frac1n\leq t\leq \frac1n,\\     
1,~~~~~\frac1n\leq t\leq 1.     
\end{cases}

我从这个开始,但我不知道如何放在$-\frac1n, \frac1n$图表上

\documentclass[tikz]{standalone}
\usepackage{pgfplots}
%\pgfplotsset{compat=1.8}
\begin{document}
\begin{tikzpicture}[
  declare function={
    func(\x)= -1   +
    and(\x>-1-\frac1n, \x<=1/n) * (-1)     +
     and(\x>-1/n,  \x<=1/n) * (\x/n) +
                (\x>1/n, \x<=1) * (1);
  }
]
\begin{axis}[
  axis x line=middle, axis y line=middle,
  %ymin=-, ymax=2, ytick={-2,...,2}, ylabel=$f_n(x)$,
  %xmin=-1, xmax=1, xtick={-1,...,1}, xlabel=$x$,
]
%\pgfplotsinvokeforeach{-2, 1, 2}{

\addplot[blue, domain=-1:1, smooth]{func(x)};
\end{axis}
\end{tikzpicture} 
\end{document}

答案1

正如聊天中提到的,\frac是一个用于排版数学的宏。pgfmath不明白,但只是用1/n而不是\frac{1}{n}

另外,您不需要在 中添加明确的空格cases,只需添加列分隔符&

n=2无论如何,这是您指定的方程的图。

在此处输入图片描述

\documentclass{article} 
\usepackage{pgfplots,amsmath} 
%\pgfplotsset{compat=1.8} 
\begin{document} 
\begin{equation}
f_n(t)= 
\begin{cases} 
-1, & -1 < t < -\frac{1}{n},\\ 
\frac{t}{n}, &-\frac{1}{n}\leq t\leq \frac{1}{n},\\ 
1, & \frac{1}{n} < t < 1. 
\end{cases}
\end{equation}

\begin{tikzpicture}[ 
declare function={ 
    func(\x,\n)=
and(\x >=-1, \x <= -1/\n) * (-1) +
and(\x > -1/\n, \x< 1/\n) * (\x/\n) +
and(\x >= 1/\n, \x<=1) * (1) 
;
} 
] 
\begin{axis}[ 
axis x line=middle, axis y line=middle, 
ymin=-2, ymax=2, ytick={-2,...,2}, ylabel=$f_n(x)$, 
xmin=-1, xmax=1, xtick={-1,...,1}, xlabel=$x$,
legend entries={$n=2$},
legend pos=north west,legend style={draw=none}
] 
%\pgfplotsinvokeforeach{1, 2, 3, 4}{  
%\addplot+[mark=none,thick,domain=-1:1,samples=100]{func(x,#1)}; 
%}
\addplot+[mark=none,thick,domain=-1:1,samples=100]{func(x,2)}; 

\end{axis} 
\end{tikzpicture} 
\end{document}

但也许你想要的是这个:

在此处输入图片描述

\documentclass{article} 
\usepackage{pgfplots,amsmath} 
%\pgfplotsset{compat=1.8} 
\begin{document} 
\begin{equation}
f_n(t)= 
\begin{cases} 
-1, &   t < -n,\\ 
\frac{t}{n}, &-n\leq t\leq n,\\ 
1, &  n < t . 
\end{cases}
\end{equation}

\begin{tikzpicture}[ 
declare function={ 
    func(\x,\n)=
(\x <= -\n) * (-1) +
and(\x > -\n, \x< \n) * (\x/\n) +
(\x >= \n) * (1) 
;
} 
] 
\begin{axis}[ 
axis x line=middle, axis y line=middle, 
ymin=-2, ymax=2, ytick={-2,...,2}, ylabel=$f_n(x)$, 
%xmin=-1, xmax=1, xtick={-1,...,1}, 
xlabel=$x$,
legend entries={$n=1$,$n=2$,$n=3$,$n=4$},
legend pos=north west,legend style={draw=none}
] 
\pgfplotsinvokeforeach{1, 2, 3, 4}{  
\addplot+[mark=none,thick,samples=100]{func(x,#1)}; 
}
\end{axis} 
\end{tikzpicture} 
\end{document}

或者

在此处输入图片描述

\documentclass{article} 
\usepackage{pgfplots,amsmath} 
%\pgfplotsset{compat=1.8} 
\begin{document}

\noindent\begin{minipage}{0.45\linewidth}
\begin{equation}
f_n(t)= 
\begin{cases} 
-1, &   t < -\frac{1}{n},\\ 
tn, &-\frac{1}{n}\leq t\leq \frac{1}{n},\\ 
1, &  \frac{1}{n} < t . 
\end{cases}
\end{equation}
\end{minipage}\hfill
\begin{minipage}{0.5\linewidth}
\centering
\begin{tikzpicture}[ 
declare function={ 
    func(\x,\n)=
(\x <= -1/\n) * (-1) +
and(\x > -1/\n, \x< 1/\n) * (\x*\n) +
(\x >= 1/\n) * (1) 
;
} 
] 
\begin{axis}[ 
axis x line=middle, axis y line=middle, 
ymin=-2, ymax=2, ytick={-2,...,2}, ylabel=$f_n(t)$, 
%xmin=-1, xmax=1, xtick={-1,...,1}, 
domain=-1.2:1.2,samples=200,
xlabel=$t$,
legend entries={$n=1$,$n=2$,$n=3$,$n=4$},
legend pos=north west,legend style={draw=none},
width=\linewidth,scale only axis
] 
\pgfplotsinvokeforeach{1, 2, 3, 4}{  
\addplot+[mark=none,thick]{func(x,#1)}; 
}
\end{axis} 
\end{tikzpicture} 
\end{minipage}
\end{document}

相关内容