大家下午好,
目前,我正在制作一个图表,以便稍后将其插入到另一个文档中。它是点云中的回归线。(点云在下面的代码中由四个坐标表示。)
我在写回归线公式时遇到了问题。它应该是这个公式:
我的问题是,如何告诉 LaTeX 始终使用两个线性方程中的较大值?(或者如何写“max”?)
在代码中我使用了 \max,但我找不到具体如何使用它。我还考虑过使用 if-then-else 命令,但后来我发现它在 pgf 环境中不起作用。
感谢您的帮助!
\documentclass[tikz]{standalone}
\usepackage{pgf, tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usepackage{incgraph}
\begin{document}
\newcommand\A{1.6}
\newcommand\B{-33}
\newcommand\C{8.6}
\newcommand\D{0.29}
\newcommand\MH{-0.08}
\newcommand\BH{1.6}
\newcommand\MW{-0.01}
\newcommand\BW{0.64}
\begin{tikzpicture}
\begin{axis}[
width=\textwidth,
height=220pt,
axis lines=middle,
axis y line=left,
axis x line=bottom,
ymin=0,
ymax=0.8,
xmin=-20,
xmax=35,
]
\addplot+ [no marks, color=orange, domain=-15:30, samples=200]{(\max{\MH*x+\BH}{\MW*x+\BW}+((\A)/(1+((\B)/(x-40))^\C)+\D)/2}; %This is the regression line formula
\addplot [only marks, color=blue, mark options={scale=0.5}] coordinates {
(18.50 , 0.05)
(4.00 , 0.07)
(-3.4 , 0.3 )
(12 , 0.4 )
};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
该函数是max
,并且参数应该是以逗号分隔的列表。
\documentclass[tikz]{standalone}
\usepackage{pgf, tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usepackage{incgraph}
\begin{document}
\newcommand\A{1.6}
\newcommand\B{-33}
\newcommand\C{8.6}
\newcommand\D{0.29}
\newcommand\MH{-0.08}
\newcommand\BH{1.6}
\newcommand\MW{-0.01}
\newcommand\BW{0.64}
\begin{tikzpicture}
\begin{axis}[
width=\textwidth,
height=220pt,
axis lines=middle,
axis y line=left,
axis x line=bottom,
ymin=0,
ymax=0.8,
xmin=-20,
xmax=35,
]
\addplot+ [no marks, color=orange, domain=-15:30, samples=200]
{max(\MH*x+\BH,\MW*x+\BW)+((\A)/(1+((\B)/(x-40))^\C)+\D)/2}; %This is the regression line formula
\addplot [only marks, color=blue, mark options={scale=0.5}] coordinates {
(18.50 , 0.05)
(4.00 , 0.07)
(-3.4 , 0.3 )
(12 , 0.4 )
};
\end{axis}
\end{tikzpicture}
\end{document}