diff options
Diffstat (limited to 'gsl-1.9/doc/randplots.gnp')
-rw-r--r-- | gsl-1.9/doc/randplots.gnp | 374 |
1 files changed, 374 insertions, 0 deletions
diff --git a/gsl-1.9/doc/randplots.gnp b/gsl-1.9/doc/randplots.gnp new file mode 100644 index 0000000..88221b5 --- /dev/null +++ b/gsl-1.9/doc/randplots.gnp @@ -0,0 +1,374 @@ +#set term postscript eps enhanced +set term pstex monochrome +set samples 300 +#set size 0.8,0.88 # paperback 6x9 #CHANGE THESE LATER IN FILE ALSO +set size 1,1.1 # us letter #IF MODIFIED +set border 31 lw 0.5 +set tics out +set ticscale 0.5 0.25 +set xtics border nomirror norotate +set ytics border nomirror norotate +set format x "%g" + +# Continuous distributions + +set xlabel "$x$" +set ylabel "$p(x)$" + +set xrange [-5:5] +set yrange [0:0.5] +set ytics 0.1 +set xtics 1 +set output "rand-gaussian.tex" +set title "Gaussian Distribution" +p(x)=1/sqrt(2*pi*sigma**2)*exp(-x**2/(2*sigma**2)) +plot sigma=1.0, p(x) title "$\\sigma=1$", \ + sigma=2.0, p(x) title "$\\sigma=2$" + +set xrange [0:5] +set yrange [0:2] +set ytics 0.5 +set xtics 1 +set output "rand-gaussian-tail.tex" +set title "Gaussian Tail Distribution" +p(x)= x > a ? 1/(0.5*erfc(a/sqrt(2*sigma**2))*sqrt(2*pi*sigma**2))*exp(-x**2/(2*sigma**2)) : 0 +plot a=1.5, sigma=1.0, p(x) title "$\\sigma=1,a=1.5$" + +set xrange [0:5] +set yrange [0:1.09] +set ytics 0.5 +set xtics 1 +set output "rand-rayleigh-tail.tex" +set title "Rayleigh Tail Distribution" +p(x)= x > a ? (x/sigma**2)*exp((a**2 - x**2)/(2*sigma**2)) : 0 +plot a=1.0, sigma=1.0, p(x) title "$a=1,\\sigma=1$", \ + a=0.5, sigma=2.0, p(x) title "$a=0.5,\\sigma=2$" + +set size ratio -1 0.8,1.143 +set xlabel "$x$" +set ylabel "$y$" +set xrange [-2:2] +set yrange [-2:2] +set ytics 1 +set xtics 1 +set output "rand-bivariate-gaussian.tex" +set title "Bivariate Gaussian Distribution" +set isosamples 30 +p(x,y)=1/sqrt(2*pi*sqrt(1-rho**2))*exp(-(x**2 + y**2 - 2*rho*x*y)/(2*(1-rho**2))) +#set cntrparam cspline +set noclabel +set contour +set view 0,0 +set nosurface +splot rho=0.9, p(x,y) title "$\\sigma_x=1, \\sigma_y=1, \\rho=0.9$" +set size noratio 1,1.1 # us letter + +set xlabel "$x$" +set ylabel "$p(x)$" +set ytics 0.1 +set xrange [-5:5] +set yrange [0:0.4] +set output "rand-cauchy.tex" +set title "Cauchy Distribution" +p(x)=1/(pi*a*(1+(x/a)**2)) +plot a=1.0, p(x) title "$a=1$", \ + a=2.0, p(x) title "$a=2$" + +set ytics 0.5 +set yrange [0:1] +set xrange [0:3] +set output "rand-exponential.tex" +set title "Exponential Distribution" +p(x)=exp(-x/mu)/mu +plot mu=1.0, p(x) title "$\\mu=1$", \ + mu=2.0, p(x) title "$\\mu=2$" + +set yrange [0:1] +set xrange [0:3] +set output "rand-chisq.tex" +set title "Chi-squared Distribution" +p(x)=(x/2)**(nu/2.0-1.0) *exp(-x/2)/ (2*gamma(nu/2.0)) +plot nu=1.0, p(x) title "$\\nu=1$", \ + nu=2.0, p(x) title "$\\nu=2$", \ + nu=3.0, p(x) title "$\\nu=3$" + +set yrange [0:1] +set xrange [0:5] +set output "rand-erlang.tex" +set title "Erlang Distribution" +p(x)=x**(n-1) *exp(-x/a)/ (gamma(n)*a**n) +plot n=1.0, a=1, p(x) title "$n=1$", \ + n=2.0, a=1.0, p(x) title "$n=2$", \ + n=3.0, a=1.0, p(x) title "$n=3$" + +set xrange [0:2] +set xtics 1 +set output "rand-fdist.tex" +set title "F-Distribution" +p(x)=gamma((v1+v2)/2.0)*v1**(v1/2.0)*v2**(v2/2.0)\ + /gamma(v1/2.0)/gamma(v2/2.0) * \ + x**(v1/2.0-1)*(v2+v1*x)**-(v1/2.0+v2/2.0) +plot v1=1.0, v2=1.0, p(x) title "$\\nu_1=1, \\nu_2=1$", \ + v1=3.0, v2=1.0, p(x) title "$\\nu_1=3, \\nu_2=2$" + +set xrange [0:5] +set output "rand-flat.tex" +set title "Flat Distribution" +p(x)= (x<b && x>a) ? 1/(b-a) : 0 +plot a=0.5, b=2.5, p(x) title "$a=0.5,b=2.5$" with step, \ + a=1.2, b=4.8, p(x) title "$a=1.2,b=4.8$" with step + +set xrange [0:5] +set yrange [0:1] +set ytics 0.5 +set output "rand-gamma.tex" +set title "Gamma Distribution" +p(x)= x**(a-1)* exp(-x) / gamma(a) +plot a=1.0, p(x) title "$a=1$", \ + a=2.0, p(x) title "$a=2$", \ + a=3.0, p(x) title "$a=3$" + +set xrange [0:1] +set yrange [0:4] +set xtics 0.25 +set ytics 1 +set output "rand-beta.tex" +set title "Beta Distribution" +p(x)= gamma(a+b)/(gamma(a)*gamma(b))*x**(a-1)*(1-x)**(b-1) +plot a=2.0, b=2.0, p(x) title "$a=2,b=2$", \ + a=4.0, b=1.0, p(x) title "$a=4,b=1$", \ + a=1.0, b=4.0, p(x) title "$a=1,b=4$" + + +set xrange [-5:5] +set yrange [0:0.3] +set ytics 0.1 +set xtics 1 +set output "rand-logistic.tex" +set title "Logistic Distribution" +p(x)= exp(-x/a)/a/(1+exp(-x/a))**2 +plot a=1.0, p(x) title "$a=1$", \ + a=2.0, p(x) title "$a=2$" + +set xrange [0:3] +set yrange [0:0.7] +set xtics 1 +set ytics 0.5 +set output "rand-lognormal.tex" +set title "Lognormal Distribution" +p(x)= exp(-(log(x)-zeta)**2/2/sigma**2)/sqrt(2*pi*sigma**2)/x +plot zeta=0.0, sigma=1.0, p(x) title "$\\zeta=0, \\sigma=1$", \ + zeta=1.0, sigma=1.0, p(x) title "$\\zeta=1, \\sigma=1$" + +set xrange [0:5] +set yrange [0:2] +set ytics 0.5 +set xtics 1 +set output "rand-pareto.tex" +set title "Pareto Distribution" +p(x)= x>b ? a*b**a/x**(a+1) : 0 +plot a=1.0, b=1, p(x) title "$a=1, b=1$", \ + a=3.0, b=2, p(x) title "$a=3, b=2 $" + +set xrange [0:5] +set yrange [0:0.7] +set ytics 0.1 +set xtics 1 +set output "rand-rayleigh.tex" +set title "Rayleigh Distribution" +p(x)= (x/sigma**2)*exp(-x**2/(2*sigma**2)) +plot sigma=1.0, p(x) title "$\\sigma=1$", \ + sigma=2.0, p(x) title "$\\sigma=2$" + +set xrange [0:5] +set yrange [0:1.09] +set ytics 0.5 +set xtics 1 +set output "rand-rayleigh-tail.tex" +set title "Rayleigh Tail Distribution" +p(x)= x > a ? (x/sigma**2)*exp((a**2 - x**2)/(2*sigma**2)) : 0 +plot a=1.0, sigma=1.0, p(x) title "$a=1,\\sigma=1$", \ + a=0.5, sigma=2.0, p(x) title "$a=0.5,\\sigma=2$" + +set xrange [-4:4] +set yrange [0:0.5] +set ytics 0.1 +set output "rand-tdist.tex" +set title "Student's t distribution" +p(x)=gamma((v+1.0)/2)/sqrt(pi*v)/gamma(v/2)*(1+(x**2)/v)**-((v+1.0)/2) +plot v=1.0, p(x) title "$\\nu_1=1$", \ + v=5.0, p(x) title "$\\nu_1=5$" + +set xrange [-5:5] +set yrange [0:0.55] +set ytics 0.1 +set output "rand-laplace.tex" +set title "Laplace Distribution (Two-sided Exponential)" +p(x)=exp(-abs(x)/a)/2/a +plot a=1.0, p(x) title "$a=1$", \ + a=2.0, p(x) title "$a=2$" + +set xrange [-5:5] +set yrange [0:0.8] +set ytics 0.2 +set output "rand-exppow.tex" +set title "Exponential Power Distribution" +p(x)=exp(-(abs(x/a))**b)/2/a/gamma(1.0+1.0/b) +plot a=1.0, b=2.5, p(x) title "$a=1, b=2.5$", \ + a=1.0, b=0.5, p(x) title "$a=1, b=0.5$" + +set xrange [-5:10] +set yrange [0:0.2] +set ytics 0.1 +set output "rand-landau.tex" +set title "Landau Distribution" +plot 'landau.dat' notitle w lines + +set xrange [-5:5] +set yrange [0:0.45] +set ytics 0.1 +set output "rand-levy.tex" +set title "Levy Distribution" +p1(x)=1/(pi*mu*(1+(x/mu)**2)) +p2(x)=1/sqrt(2*pi*2*mu**2)*exp(-x**2/(4*mu**2)) +plot mu=1.0, a=1, p1(x) title "$c=1, \\alpha=1.0$", \ + mu=1.0, a=2, p2(x) title "$c=1, \\alpha=2.0$" + +set xrange [-5:5] +set yrange [0:0.09] +set ytics 0.05 +set output "rand-levyskew.tex" +set title "Levy Skew Distribution" +logp(x)= 1.0990e+01+x*(-3.3388e-01+x*(-4.2372e-01+x*(2.1749e-01+x*(-4.4910e-02 + x*(4.1801e-03 - 1.4456e-04*x))))) +p1(x)=exp(logp(x))/1000000 +plot mu=1.0, a=1, p1(x) title "$c=1, \\alpha=1.0, \\beta=1.0$" + + +set xrange [0:2] +set yrange [0:1.5] +set ytics 0.5 +set xtics 0.5 +set output "rand-weibull.tex" +set title "Weibull Distribution" +p(x)=(b/a) * (x/a)**(b-1) * exp(-(x/a)**b) +plot a=1.0, b=1.0, p(x) title "$a=1,b=1$", \ + a=1.0, b=2.0, p(x) title "$a=1,b=2$", \ + a=2.0, b=3.0, p(x) title "$a=2,b=3$" + +set xrange [-2:5] +set yrange [0:0.5] +set ytics 0.1 +set xtics 1.0 +set output "rand-gumbel1.tex" +set title "Type 1 Gumbel Distribution" +p1(x)=a*b*exp(-(b*exp(-a*x)+a*x)) +plot a=1.0, b=1.0, p1(x) title "Type 1, $a=1,b=1$" + +set xrange [0:2] +set yrange [0:0.7] +set ytics 0.1 +set xtics 0.5 +set output "rand-gumbel2.tex" +set title "Type 2 Gumbel Distribution" +p2(x)=x > 0 ? a*b*x**(-a-1)*exp(-b*x**-a) : 0 +plot a=1.0, b=1.0, p2(x) title "Type 2, $a=1,b=1$" + +# Discrete distributions + +set xlabel "$k$" +set ylabel "$p(k)$" +set ticscale 0.5 1 +set mxtics 2 + +set xrange [-0.5:10.5] +set yrange [0:0.3] +set ytics 0.1 +set xtics 1 +set function style step +set output "rand-poisson.tex" +set title "Poisson Distribution" +p(x)=mu**int(x)/(int(x)!) * exp(-mu) +plot mu=2.5, p(x+0.5) title "$\\mu=2.5$" + +set xrange [:1.5] +set yrange [0:1] +set ytics 0.5 +set xtics 1 +set function style step +set output "rand-bernoulli.tex" +set title "Bernoulli Trial" +p(x)= (int(x) == 0) ? 1-p : p +plot p = 0.7, p(x+0.5) title "$p=0.7$" + +set xrange [:10.5] +set yrange [0:0.3] +set xtics 1 +set ytics 0.1 +set output "rand-binomial.tex" +set title "Binomial Distribution" +p(x)= P**int(x)*(1-P)**(n-int(x))*gamma(n+1.0)/gamma(int(x)+1.0)/gamma(n-int(x)+1.0) + 1e-5 +plot P=0.5,n=9.99999999, p(x+0.5) title "$p=0.5,n=9$" + +set xrange [:5.5] +set yrange [0:0.7] +set ytics 0.1 +set xtics 1 +set output "rand-geometric.tex" +set title "Geometric Distribution" +p(x)=int(x) ? P*(1-P)**int(x-1) : 0 +plot P=0.5, p(x+0.5) title "$p=0.5$" + +set xrange [:10.5] +set yrange [0:0.7] +set ytics 0.1 +set xtics 1 +set output "rand-logarithmic.tex" +set title "Logarithmic Distribution" +p(x)=int(x) ? (-1/log(1-P))*(P**int(x))/int(x) : 0 +plot P=0.7, p(x+0.5) title "$p=0.7$" + +set xrange [:10.5] +set yrange [0:0.7] +set ytics 0.1 +set xtics 1 +set output "rand-hypergeometric.tex" +set title "Hypergeometric Distribution" +choose(a,b)=gamma(a+1)/(gamma(b+1)*gamma(a-b+1)) +p(x)=choose(n1,int(x))*choose(n2,t-int(x))/choose(n1+n2,t) +plot n1=5, n2=20, t=3, p(x+0.5) title "$n1=5, n2=20, t=3$" + +set xrange [:10.5] +set yrange [0:0.3] +set xtics 1 +set ytics 0.1 +set output "rand-nbinomial.tex" +set title "Negative Binomial Distribution" +p(x)= (P**n)*((1-P)**(int(x)))*gamma(n+int(x))/gamma(n)/gamma(int(x)+1.0) + 1e-5 +plot P=0.5,n=3.5, p(x+0.5) title "$p=0.5,n=3.5$" + +set xrange [:10.5] +set yrange [0:0.3] +set xtics 1 +set ytics 0.1 +set output "rand-pascal.tex" +set title "Pascal Distribution" +p(x)= (P**n)*((1-P)**(int(x)))*gamma(n+int(x))/gamma(n)/gamma(int(x)+1.0) + 1e-5 +plot P=0.5,n=3, p(x+0.5) title "$p=0.5,n=3$" + +###################################################################### + +set ticscale 1 0 +set xrange [-5:5] +set yrange [-5:5] +set xtics 1 +set ytics 1 +set size 0.8,1.143 +set size square +set output "random-walk.tex" +set title "Random walk" +set xzeroaxis +set yzeroaxis +set nokey +plot "rand-walk.dat" using 1:2 with linesp + + |