pgfplots 无法绘制我的函数

pgfplots 无法绘制我的函数

我想绘制一个图表在此处输入图片描述

但我的代码根本不起作用

\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}

该函数由下式给出:在此处输入图片描述

有人能帮我解决这个问题吗?我认为绘制 (1+\x) 之类的东西时出现小问题,因为这些东西似乎行不通。因此,(f(\x) + g(\x))^2 之类的东西永远不会起作用。是打字错误还是有更好的方法?

答案1

您输入了错误的函数(+就这两个术语而言,一个应该有-),而且实际上您sqrt(x)不应该有。sqrt{x}

其他地方也有些错误,但我只是从头重写了:

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

完整代码,对轴限制和刻度标签进行了一些修改:

在此处输入图片描述

\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}

相关内容