如何在 tikz/pgfplots 中表示不同类型的函数?

如何在 tikz/pgfplots 中表示不同类型的函数?

在此处输入图片描述

在此处输入图片描述

我正在写一篇关于函数理论的文章,​​我仍在努力学习 pgf(我对它和 tikz 几乎一无所知),我需要在 xOy 笛卡尔系统中表示函数。函数应该说明不同的属性,如:严格单调性、单调性、在一定间隔内有界、周期性等等。我如何才能轻松地表示函数,如何才能构造像​​图中那样的辅助虚线?或者如何在图表上添加 + 和 - 符号?如果您觉得更容易,请给我一篇关于学习在 pgf 中绘制函数的文章。非常感谢!

答案1

我的示例主要依赖于 tikz 库的功能math并明确执行大多数计算。

f为了正确输出,代码需要五个参数:要绘制的函数、df函数的导数、 y 轴的最大值ymax、 x 间隔以及应绘制加号或减号的interval点数。N

\documentclass[10pt]{standalone}

\usepackage{tikz}

\usetikzlibrary{math, calc}

\tikzmath{
    \ymax = 1.6;
    \N = 28;
    \interval = 3/2*pi+0.2;
    \k = 2;
    %
    function f(\x) {
        sin(\k*\x*180/pi-90);
    };
    %
    function df(\x) {
        return(\k*cos(\k*\x*180/pi-90));
    };
    %
    \xmax = \interval/2+0.3;
    \xmin = -\xmax;
    \ymin = -\ymax;
}
\tikzset{
    sign/.style = {
        font=\tiny
    },
    minus sign/.style = {
        sign, text=red!90!black, anchor=south
    },
    plus sign/.style = {
        sign, text=green!60!black, anchor=north
    }
}

\begin{document}

\begin{tikzpicture}

    \begin{scope}[local bounding box=graph]
        \draw[->] (0,\ymin) -- (0,\ymax) node[above]{$y$};
        \draw[->] (\xmin,0) -- (\xmax,0) node[right]{$x$};

        \draw[domain=-\interval/2:\interval/2, samples=100] plot(\x, {f(\x)});

        \path[clip] (\xmin,\ymin) rectangle (\xmax,\ymax); 

        \tikzmath{
            for \i in {0,...,\N}{
                \x = \i/\N*\interval-\interval/2;
                \y = f(\x);
                \angle = atan(df(\x))-90;
                if f(\x) > 0.25 then {
                    { 
                        \path (\x,\y) -- ++(\angle:0.01) node[plus sign]{$+$}; 
                    };
                } else {
                    if f(\x) < -0.25 then {
                        { 
                            \path (\x,\y) -- ++(\angle-180:0.01) node[minus sign]{$-$}; 
                        };
                    };
                };
            };
        }
    \end{scope}

    \draw ($(graph.south east)+(1,-1)$) rectangle ($(graph.north west)+(-1,1)$);

\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容