¿Cómo trazar valores de funciones pequeñas en pgfplots?

¿Cómo trazar valores de funciones pequeñas en pgfplots?

Estoy tratando de visualizar dos funciones en pgfplots y no puedo transmitir mi mensaje principal de que ambas terminan en el mismo punto. ¿Cómo puedo cambiar este comportamiento, preferiblemente sin herramientas externas adicionales?

Aquí está mi pequeño ejemplo:

\documentclass[tikz]{standalone}

\usepackage{tikz,pgfplots}
\pgfplotsset{compat=1.8} 

\begin{document}

\begin{tikzpicture}
\begin{axis}[
    xmin=0.0,
    xmax=2,
    ymin=0,
    ymax=1.75,
    axis x line=bottom,
    axis y line=left, 
    xlabel=control parameter $r$,
    ylabel=energy $(J)$, 
    ytick={}, yticklabels={},
    xtick={1},
    xticklabels={1},    
    restrict x to domain=0:2,
    ]   

    \addplot+[smooth,no marks, samples at={1.0,0.999,0.99,0.96,...,0.001,0}] {1.12*(1-x)^0.5};
    \addplot+[smooth, densely dashed, no marks,samples=1000]{1.75*(1-x)^0.5}; 
\end{axis} 
\end{tikzpicture}   

\end{document}

Con el siguiente resultado:

ingrese la descripción de la imagen aquí

Lo ideal sería que ambas funciones terminaran exactamente en (1,0), pero incluso con una gran cantidad de muestras o dando explícitamente el valor x de 1,0 no puedo acercarme. Intenté usar gnuplot como alternativa pero encontré el problema mencionado enMejore la precisión de pfgplots con gnuplot, que pgfplots no descarta las coordenadas ilimitadas de gnuplot.

Para un exponente de exactamente 1/2, la función sqrt produce mejores resultados, pero sólo funciona en este caso especial.

¿Algunas ideas?

Respuesta1

Puedes usar sqrtla función en lugar de elevar cero a la potencia de 0,5.

\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.8} 

\begin{document}
\begin{tikzpicture}
\begin{axis}[
    xmin=0.0,
    xmax=2,
    ymin=0,
    ymax=1.75,
    axis x line=bottom,
    axis y line=left, 
    xlabel=control parameter $r$,
    ylabel=energy $(J)$, 
    ytick=\empty,
    xtick={1},
    xticklabels={1},    
    restrict x to domain=0:2,
    ]   

    \addplot+[smooth,no marks, samples at={1.0,0.999,0.99,0.96,...,0.001,0}] {1.12*sqrt(1-x)};
    \addplot+[smooth, densely dashed, no marks,samples=1000]{1.75*sqrt(1-x)}; 
\end{axis} 
\end{tikzpicture}   

\end{document}

ingrese la descripción de la imagen aquí

información relacionada