
Я хотел бы построить график, как
Но мой код просто не работает.
\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}