pgfplots no graficará mi función

Sep 23 2020

Me gustaría trazar un gráfico como

Pero mi código simplemente no funciona

\begin{tikzpicture}
\begin{axis}[
 width=18cm,
 axis lines=middle,
 xmin=0,xmax=1.02,
 ymin=0.86,ymax=1.02,,
 xlabel=\Large $c$,ylabel=\Large $F_g$,
 xtick={0.2,0.4,0.6,0.8,1.0},
 ytick={0.88,0.94,0.98,1},
        ]
\addplot[blue,samples=800,domain=0:1,smooth] {0.25*((sqrt{(1+(\x))*(1+ (sqrt{\x}))}) + (sqrt{((1+(\x))*(1+(sqrt{\x})))}))^2};
\end{axis}
\end{tikzpicture}

La función está dada por

¿Alguien puede ayudarme con esto? Creo que es un problema menor al trazar cosas como (1+ \ x) porque no funcionan. Por lo tanto, algo como (f (\ x) + g (\ x)) ^ 2 nunca funcionará. ¿Hay un error tipográfico o hay una forma mejor de hacerlo?

Respuestas

2 TorbjørnT. Sep 23 2020 at 17:05

Usted ha entrado en la función equivocada ( +en términos tanto, uno debe tener -), y usted debe tener sqrt(x)no sqrt{x}, para el caso.

Algo más está mal también, pero simplemente reescribí desde cero:

\addplot[blue,samples=80,domain=0:1,smooth] {0.25*(sqrt((1-x)*(1-sqrt(x))) + sqrt((1+x)*(1+sqrt(x))))^2};

Código completo, con algunas modificaciones de límites de eje y ticklabels:

\documentclass{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
 width=18cm,
 axis lines=middle,
 xmin=0,xmax=1.02,
 ymin=0.98,ymax=1.01,
 xlabel=\Large $c$,ylabel=\Large $F_g$,
 xtick={0.2,0.4,0.6,0.8,1.0},
 ytick={0.98,0.985,...,1.01},
 yticklabel style={
   /pgf/number format/fixed zerofill,
   /pgf/number format/precision=3,
   }
        ]
\addplot[blue,samples=80,domain=0:1,smooth] {0.25*(sqrt((1-x)*(1-sqrt(x))) + sqrt((1+x)*(1+sqrt(x))))^2};

\end{axis}
\end{tikzpicture}
\end{document}