在 pgf 图中利用数学表达式中的两个方程的最大值

在 pgf 图中利用数学表达式中的两个方程的最大值

大家下午好,

目前,我正在制作一个图表,以便稍后将其插入到另一个文档中。它是点云中的回归线。(点云在下面的代码中由四个坐标表示。)

我在写回归线公式时遇到了问题。它应该是这个公式:

回归公式 其中 ϑ 是 x 坐标(我在代码中称之为 x)。

我的问题是,如何告诉 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}

在此处输入图片描述

相关内容