从 \addplot 调用数学库函数

从 \addplot 调用数学库函数

我有兴趣使用 pgfplots 结合 TikZ&PGF 的数学库绘制我自己的函数。这个函数是我在文档中多次使用的功能。

像这样:

\documentclass[10pt, a4paper]{article}

\begin{document}
% Defining the function
\usetikzlibrary{math}
\tikzmath{
     function my_fun(\a, \b, \c) { return \a * exp(\b * \c); % <<< This is my function
};
% Plotting the function
\begin{tikzpicture}
    \begin{axis}
        \addplot { my_fun{\x, 1, 0} }; % <<< This is obviously wrong
    \end{axis}
\end{tikzpicture}
\end{document}

这有可能吗?如果不可能,您推荐哪种最佳方法来创建一个可以多次绘制(使用不同参数)的函数?

如果可能的话,我希望避免使用一系列\def带有类型参数的方法。#

答案1

正如 percusse 在在问题下方评论你可以使用它declare function来实现你想要的。下面是一个如何使用它的示例。

\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
    \pgfplotsset{
        % use this `compat' level or higher to use the LUA backend for calculation
        % (--> speed improvement)
        compat=1.12,
        % declare your function here ...
        /pgf/declare function={
            MyFun(\a,\b,\c) = \a * exp(\b*\c);
        },
    }
\begin{document}
\begin{tikzpicture}
    \begin{axis}
        \addplot {MyFun(x, 1, 0)};
        \addplot {MyFun(x, 1, 1)};
        \addplot {MyFun(1, x, 1)};
    \end{axis}
\end{tikzpicture}
\end{document}

该图显示了上述代码的结果

相关内容