\documentclass[svgnames]{standalone}
\usepackage[spanish]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
% El paquete "tgschola" es de la fuente tipográfica "TeX Gire Schola"
\usepackage{pgfplots, tgschola, verbatim}
\pgfplotsset{compat=newest} % Compatibilidad con versiones recientes de PGFPLOTS
\usetikzlibrary{backgrounds} % Biblioteca de fondos para los gráficos
\begin{comment}
Título: Gráfica de Funciones de Bessel de Primera Especie, usando GNUPLOT
Autor: Ramón Jaramillo.
Este gráfico representa a las funciones de Bessel de primera especie, de las cuales fue publicada una primera versión por Overleaf (https://www.overleaf.com/latex/examples/grafica-de-funciones-de-bessel-de-primer-orden/zmhgjhfjrygb) con la diferencia de que, en lugar de usar el paquete GNUPLOTTEX, se usa el paquete PGFPLOTS con el software GNUPLOT, instalado en Overleaf.com, para calcular el trazado de ésta (y muchas otras curvas).
Aunque PGFPLOTS es un paquete que produce gráficos de alta calidad, carece de rutinas breves y poderosas para el cálculo y graficación de funciones a partir de sumatorias, como sí tienen otros paquetes (como PSTRICK y GNUPLOT) , por lo que se usa la orden \addplot+[opciones_adicionales] gnuplot [raw gnuplot]{<órdenes de gnuplot>}, para indicar el dominio en el eje horizontal, la cantidad de muestras, la definición de la función de Bessel y la graficación (plot) de las 8 funciones en sus 50 primeros términos, variando solo el tamaño de "n" que determina el número de funciones a graficar. El gráfico presenta los valores "x" contra los valores de J_n(x) que representan a las funciones de Bessel de primera especie, trazado directamente sobre la cuadrícula dibujada mediante las rutinas de PGFPLOTS. En cada orden \addplot se define la n-ésima función de Bessel y se calcula la curva para cada valor particular de "n".
\end{comment}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
% Se usa esta opción para cambiar los colores de cada gráfica. Esta lista está predefinida en el manual de PGFPLOTS, página 217
cycle list name=color list,
% Configuración de la leyenda de los gráficos
legend style={font=\tiny, legend columns=2, legend pos=north east}, % Estilo de la leyenda
axis background/.style={fill=Linen}, % Fondo del gráfico de color "Linen" según el esquema de colores "svgnames" del paquete xcolor
every tick label/.append style={font=\footnotesize}, % Estilo de fuente tipográfica de las marcas de cada eje (ticks)
grid=major,
line width=0.3mm,
minor tick num=9,
title=\textbf{\small\color{DarkCyan} Gráfica de Funciones de Bessel de Primera Especie},
xlabel=\color{DodgerBlue} $x$,
ylabel=\color{DodgerBlue} $J_n(x)$,
domain=-2*pi:2*pi,
smooth
]
% La opción addplot+ permite añadir un color individual para cada gráfica ya que el color no se puede cambiar mediante la orden \foreach
\foreach \i in {0, 1,..., 7}{
\addplot+[smooth, no marks] gnuplot [raw gnuplot]{
set samples 100; % Cantidad de muestras
set xr [0:12]; % Dominio en el eje x
J(k, x, n) = (-1)^k * (0.5*x)^(2*k+n)/(k!*(k+n)!); % Función n-ésima de Bessel de Primera Especie
plot sum [k=0:50] J(k, x, \i) % Gráfica de la suma de los 50 primeros términos para cada valor de "n"
};
}
% Leyenda
\legend{$J_0(x)$, $J_1(x)$, $J_2(x)$, $J_3(x)$, $J_4(x)$, $J_5(x)$, $J_6(x)$, $J_7(x)$}
\end{axis}
\end{tikzpicture}
\end{document}