pgfplots işlevimi göstermeyecek

Sep 23 2020

Gibi bir grafik çizmek istiyorum

Ama kodum basitçe çalışmıyor

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

Fonksiyon tarafından verilir

Birisi bana bu konuda yardım edebilir mi, (1+ \ x) gibi şeyleri çizmenin küçük bir sorun olduğunu düşünüyorum çünkü bunlar işe yaramıyor. Bu nedenle (f (\ x) + g (\ x)) ^ 2 gibi bir şey asla çalışmayacaktır. Bir yazım hatası mı var yoksa bunu yapmanın daha iyi bir yolu var mı?

Yanıtlar

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

Yanlış işlev (girdiğiniz +her iki açıdan, tek olmalıdır -) ve olması gereken sqrt(x)değil sqrt{x}bu konuda.

Başka bir şey de yanlış, ama ben sıfırdan yeniden yazdım:

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

Eksen sınırları ve onay etiketlerinde bazı değişikliklerle birlikte eksiksiz kod:

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