TikZ + PGF 函数绘图:是否有 max(a,b) 函数?

TikZ + PGF 函数绘图:是否有 max(a,b) 函数?

我正在尝试使用 TikZ 和 PGF 绘制一个函数。此函数包含一个最大运算符(返回给定两个参数中的较大值)。

我想要执行以下操作:

\documentclass[
    headsepline,
    parskip=full-
]{scrreprt}

\usepackage{tikz}
\usetikzlibrary{matrix,fadings,calc,positioning,decorations.pathreplacing,arrows}
\usetikzlibrary{calc,trees,positioning,arrows,chains,shapes.geometric,decorations.pathreplacing,decorations.pathmorphing,shapes,matrix,shapes.symbols,shapes} %für die Schemata
\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}
    \begin{axis}[xlabel=$x$, ylabel=$y$]

    % function that should use the max(a,b) function
    \addplot [domain=0:90, samples=90]{max{0,1-x/20}};
    \addlegendentry{test function}

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

我正在使用 MikTex,当我编译上述内容时,出现以下错误消息:

PGF Math: Sorry, an internal routine of the floating point unit]'. 
(in 'max{0,1-x/20}'). ... samples=90]{max{0,1-x/20}};

因为我找不到任何对该max函数的引用,所以我假设它根本不存在。我做错了什么,或者我该如何模仿这种行为?

答案1

是的,max有,但你必须把它的参数放在圆形的括号

max(a,b)

甚至

max(a,b,c,d,e)

示例输出

\documentclass[
    headsepline,
    parskip=full-
]{scrreprt}

\usepackage{pgfplots}
\pgfplotsset{compat=1.11}

\begin{document}
\begin{tikzpicture}
    \begin{axis}[xlabel=$x$, ylabel=$y$]

    % function that should use the max(a,b) function
    \addplot [domain=0:90, samples=90] {max(0,1-x/20)};
    \addlegendentry{test function}

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

相关内容