Contamos con tu apoyo para extender nuestras reseñas sobre las ciencias de la computación.
Solución:
Hay una manera elegante… con el pst-func
paquete:
documentclass[x11names]article
usepackagepst-func
usepackageauto-pst-pdf
begindocument
pssetunit=1.25cm
beginpspicture*(-4.8,-4.8)(4.8,4.8)
psaxes[ticksize=2pt -2pt]->(0,0)(-4.8,-4.8)(4.8,4.8)[$ x $, -120][$ y $, -140]
pssetlinecolor=Tomato3,linewidth=1.2pt,plotpoints=100,algebraic
psplot-4.995-4.005GAMMA(x)
psplot-3.995-3.01GAMMA(x)
psplot-2.99-2.05GAMMA(x)
psplot-1.95-1.05GAMMA(x)
psplot-0.9-0.1GAMMA(x)
psplot.15.8GAMMA(x)
pssetlinewidth = 0.6pt, linecolor = LightSteelBlue3
multidoi=-4+14psline(i, -5.8)(i, 5.8)
endpspicture*
enddocument
La función Gamma también está integrada en Asymptote. Aquí hay una reproducción del gráfico de Bernard con este programa.
import graph;
unitsize(1.5cm);
real Xmin=-5, Xmax=5, Ymin=-5, Ymax=5;
// Graphs
for (real x = Xmin; x < 0; x=x+1) draw(graph(gamma, x+0.001, x+0.999), red);;
draw(graph(gamma, 0.1, Xmax), red);
// Clipping (cut the parts beyond the borders)
clip((Xmin, Ymin) -- (Xmax, Ymin) -- (Xmax, Ymax) -- (Xmin, Ymax) -- cycle);
// Asymptotes (no pun here)
for (real x=Xmin; x<0; x=x+1) draw((x, Ymin)--(x, Ymax), 0.8*white);;
// Axes
xaxis(xmin=Xmin, xmax=Xmax, Ticks(Step=1, OmitTick(0, Xmax)), arrow=Arrow);
yaxis(ymin=Ymin, ymax=Ymax, Ticks(Step=1, OmitTick(0, Ymin, Ymax)), arrow=Arrow);
1. Con pgfplots y gnuplot:
% arara: pdflatex: shell: yes
documentclass[margin=5mm, tikz]standalone
usepackagepgfplots
pgfplotssetcompat=newest
begindocument
begintikzpicture[]
beginaxis[
xmin = -4.9, xmax = 5.1,
%ymin = -3.5, ymax = 3.5,
restrict y to domain=-6:6,
axis lines = middle,
axis line style=-latex,
xlabel=$x$,
ylabel=$y$,
%enlarge x limits=upper=val=0.2,
enlarge y limits=0.05,
x label style=at=(ticklabel* cs:1.00), inner sep=5pt, anchor=north,
y label style=at=(ticklabel* cs:1.00), inner sep=2pt, anchor=south east,
]
addplot[color=red, samples=222, smooth,
domain = 0:5] gnuplotgamma(x);
foreach[evaluate=N=n-1] n in 0,...,-5%
addplot[color=red, samples=555, smooth,
domain = n:N] gnuplotgamma(x);
%
addplot [domain=-6:6, samples=2, densely dashed, thin] (N, x);
%
endaxis
endtikzpicture
enddocument
2. Solo pgfplots como una aproximación:
Podemos ver un buen acuerdo con la curva de gnuplot exacta:
documentclass[margin=5mm, tikz]standalone
usepackagepgfplots
pgfplotssetcompat=newest
begindocument
begintikzpicture[]
beginaxis[
xmin =0, xmax = 5.1,
%ymin = -3.5, ymax = 3.5,
restrict y to domain=-6:6,
axis lines = middle,
xlabel=$x$,
ylabel=$y$,
enlarge x limits=0.05,
enlarge y limits=0.1,
x label style=at=(ticklabel* cs:1.00), inner sep=5pt, anchor=north,
y label style=at=(ticklabel* cs:1.00), inner sep=2pt, anchor=south east,
]
addplot[color=blue, samples=222, smooth,
domain = 0:5] sqrt(2*pi)*x^(x-0.5)*exp(-x)*exp(1/(12*x));
endaxis
endtikzpicture
enddocument
valoraciones y reseñas
Si posees algún titubeo y disposición de refinar nuestro división eres capaz de realizar una nota y con mucho gusto lo estudiaremos.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)