如何绘制最大值和最小值

如何绘制最大值和最小值

我感兴趣的是绘制两个变量的最小值和最大值,即min(x,y)max(x,y)。到目前为止,我所采用的方法是使用 gnuplot 获取轮廓图,但我的尝试没有成功。

图表显示效果不佳,我不太清楚原因是什么。以下是我文章末尾的代码生成的结果:

在此处输入图片描述

不幸的是,这与实际函数相差甚远。最大值应为正方形,最小值为两条正交线,如下图所示。

在此处输入图片描述

如果可以的话,您能否通过调整我的代码来帮助我重现这些功能?

先感谢您。

\documentclass[11pt,a4paper]{article}
    \usepackage{fullpage}
    \usepackage{graphicx}
    \usepackage{indentfirst}
    \usepackage{pgfplots}
    \usepackage{tikz}
    \usepackage[miktex]{gnuplottex}
    \pgfplotsset{compat=1.12}
    \usepackage{amsmath}
    \usepackage{natbib}
    \usepackage{amssymb}
    \usepackage{xcolor}
    \usepackage{hyperref}
    \hypersetup{
        colorlinks,
        linkcolor={red!50!black},
        citecolor={black!50!black},
        urlcolor={blue!80!black}

    \begin{document}
    \begin{tikzpicture}[scale=0.8]
    \begin{axis}[
    axis lines=left,
    view={0}{90},
    xlabel=$P_1$,
    ylabel=$P_2$,
    xmin=0,xmax=1,
    ymin=0,ymax=1,
    ]
    \addplot3[
    contour gnuplot={levels={0.02}}
    ]
    {min(x,y)};
    \end{axis}
    \end{tikzpicture}\begin{tikzpicture}[scale=0.8]
    \begin{axis}[
    axis lines=left,
    view={0}{90},
    xlabel=$P_1$,
    ylabel=$P_2$,
    xmin=0,xmax=1,
    ymin=0,ymax=1,
    ]
    \addplot3[
    contour gnuplot={levels={0.2}}
    ]
    {max(x,y)};
    \end{axis}
    \end{tikzpicture}

    \end{document}

答案1

domain和添加samples\addplot3选项中。

\documentclass[11pt,a4paper]{article}
    \usepackage{pgfplots}
    \usepackage[miktex]{gnuplottex}
    \pgfplotsset{compat=1.12}


    \begin{document}
    \begin{tikzpicture}[scale=0.8]
    \begin{axis}[
    axis lines=left,
    view={0}{90},
    xlabel=$P_1$,
    ylabel=$P_2$,
    xmin=-0.2,xmax=1,
    ymin=-0.2,ymax=1,
    ]
    \addplot3[
    domain=-0.2:1,samples=100,contour gnuplot={levels={0.02}}
    ]
    {min(x,y)};
    \end{axis}
    \end{tikzpicture}\begin{tikzpicture}[scale=0.8]
    \begin{axis}[
    axis lines=left,
    view={0}{90},
    xlabel=$P_1$,
    ylabel=$P_2$,
    xmin=0,xmax=1,
    ymin=0,ymax=1,
    clip=false
    ]
    \addplot3[
    domain=0:1,samples=100,contour gnuplot={levels={0.9}}
    ]
    {max(x,y)};
    \end{axis}
    \end{tikzpicture}

    \end{document}

在此处输入图片描述

相关内容