我正在尝试使用 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}