I need to graph a function with 2 constants (\varepsilon and \k) and 1 variable (\m). I use \declarefunction
.
My problem is that que y-axis are too small and I don't know how to set them in my code to have the output that I expect. The function is this:
\[
f(m,\varepsilon,k)=\frac{\left( 1-\varepsilon \right) }{2}\left( 1-\left(
1-\varepsilon \right) ^{m}-m\left( 1-\varepsilon \right) ^{m-1}\varepsilon
\right) +\frac{\varepsilon }{2}\left( 2-(1-k\varepsilon )^{m}\right) -\frac{m%
}{2}\varepsilon (1-k\varepsilon )^{m-1}k\varepsilon \left( 1+\frac{\left(
1-\varepsilon \right) \left( 1-\varepsilon \right) ^{m-1}\varepsilon }{%
\left( 1-\varepsilon \right) \varepsilon +\varepsilon (1-k\varepsilon )^{m}}%
\right)
\]
Then, my code is:
\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\pgfplotsset{every non boxed x axis/.append style={x axis line style=-},
every non boxed y axis/.append style={y axis line style=-}}
\begin{document}
\begin{figure}
\centering
\begin{tikzpicture}
\begin{axis}[xlabel={b},
ylabel={r},
axis lines=left,
y tick label style={/pgf/number format/.cd,sci,sci e},
declare function={f(\m,\e,\k)=
((1-\e)/(2))*
(1-pow((1-\e),\m)-\m*\e*(pow((1-\e),(\m-1))))+
(\e/2)*(2-pow((1-\k*\e),\m))-
(\m/2)*\e*\k*\e*pow((1-\k*\e),(\m-1))*
(1+(((1+\e)*pow((1-\e),(\m-1))*\e)/((1-\e)*\e+\e*(pow(1-\k*\e),\m))))
;},
domain=1:8,no marks,samples=20
,smooth, ymin=0.00044, ymax=0.000445, xmin=2, xmax=5,
extra x ticks={2.25, 2.75, 3.25, 3.75, 4.25, 4.75},
extra x tick labels={ },
% extra y ticks={1.425, 1.435, 1.445, 1.455},
% extra y tick labels={ },
tick label style={font=\scriptsize}]
\addplot[color=black, domain=2:5, variable = \m]{f(m, 0.001, 100)};
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}
The expected output is the following one.
Could any one help me to set that y-axis values to obtain that graph ? I've tried some values but I was unsuccessful.