[BACK]Return to prob.dem CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / gnuplot / demo

Annotation of OpenXM_contrib/gnuplot/demo/prob.dem, Revision 1.1.1.1

1.1       maekawa     1: #
                      2: # $Id: prob.dem,v 1.4 1996/12/09 15:58:09 drd Exp $
                      3: #
                      4: # Demo Statistical Functions version 2.3
                      5: #
                      6: # Permission granted to distribute freely for non-commercial purposes only
                      7: #
                      8: # Copyright (c) 1991, 1992 Jos van der Woude, jvdwoude@hut.nl
                      9:
                     10: print "                   Statistical Library Demo, version 2.3"
                     11: print "\n          Copyright (c) 1991, 1992, Jos van de Woude, jvdwoude@hut.nl"
                     12: print "Permission granted to distribute freely for non-commercial purposes only"
                     13: print "\n\n\n\n\n\n\n"
                     14: print "NOTE: contains 54 plots and consequently takes a lot of time to run"
                     15: print "                      Press Ctrl-C to exit right now"
                     16: pause -1 "                      Press Return to start demo ..."
                     17:
                     18: load "stat.inc"
                     19:
                     20: # Arcsinus PDF and CDF
                     21: r = 2.0
                     22: mu = 0.0
                     23: sigma = r / sqrt2
                     24: xmin = -r
                     25: xmax = r
                     26: ymax = 1.1 * r #No mode
                     27: set nokey
                     28: set zeroaxis
                     29: set xrange [xmin : xmax]
                     30: set yrange [0 : ymax]
                     31: set xlabel "x ->"
                     32: set ylabel "probability density ->"
                     33: set xtics autofreq
                     34: set ytics autofreq
                     35: set format x "%.1f"
                     36: set format y "%.1f"
                     37: set sample 200
                     38: set title "arcsin PDF with r = 2.0"
                     39: plot arcsin(x)
                     40: pause -1 "Hit return to continue"
                     41: set title "arcsin CDF with r = 2.0"
                     42: set yrange [0 : 1.1]
                     43: plot carcsin(x)
                     44: pause -1 "Hit return to continue"
                     45:
                     46: # Beta PDF and CDF
                     47: #p = 0.5; q = 0.7
                     48: #mu = p / (p + q)
                     49: #sigma = sqrt(p**q) / ((p + q ) * sqrt(p + q + 1.0))
                     50: #xmin = 0.0
                     51: #xmax = 1.0
                     52: #Mode of beta PDF used
                     53: #ymax = (p < 1.0 || q < 1.0) ? 2.0 : 1.1 * beta((p - 1.0)/(p + q - 2.0))
                     54: set key
                     55: set zeroaxis
                     56: #set xrange [xmin : xmax]
                     57: #set yrange [0 : ymax]
                     58: set xlabel "x ->"
                     59: set ylabel "probability density ->"
                     60: set xtics autofreq
                     61: set ytics autofreq
                     62: set format x "%.1f"
                     63: set format y "%.1f"
                     64: set sample 100
                     65: set title "beta PDF"
                     66: plot [0:1] [0:5] p = 0.5, q = 0.7, beta(x) title "p = 0.5, q = 0.7", \
                     67:                  p = 5.0, q = 3.0, beta(x) title "p = 5.0, q = 3.0", \
                     68:                  p = 0.5, q = 2.5, beta(x) title "p = 0.5, q = 2.5"
                     69: pause -1 "Hit return to continue"
                     70: set title "incomplete beta CDF"
                     71: plot [0:1] [0:1.1] p = 0.5, q = 0.7, cbeta(x) title "p = 0.5, q = 0.7", \
                     72:                    p = 5.0, q = 3.0, cbeta(x) title "p = 5.0, q = 3.0", \
                     73:                    p = 0.5, q = 2.5, cbeta(x) title "p = 0.5, q = 2.5"
                     74: pause -1 "Hit return to continue"
                     75:
                     76: # Binomial PDF and CDF
                     77: n = 25; p = 0.15
                     78: mu = n * p
                     79: sigma = sqrt(n * p * (1.0 - p))
                     80: xmin = int(mu - 4.0 * sigma)
                     81: xmin = xmin < 0 ? 0 : xmin
                     82: xmax = int(mu + 4.0 * sigma)
                     83: ymax = 1.1 * binom(mu) #Mode of normal PDF used
                     84: xinc = ceil((xmax - xmin) / 10)
                     85: xinc = xinc > 1 ? xinc : 1
                     86: set nokey
                     87: set nozeroaxis
                     88: set xrange [xmin : xmax]
                     89: set yrange [0 : ymax]
                     90: set xlabel "k ->"
                     91: set ylabel "probability density ->"
                     92: set xtics xmin + 0.499, xinc, xmax
                     93: set ytics 0, ymax / 10, ymax
                     94: set format x "%2.0f"
                     95: set format y "%3.2f"
                     96: set sample (xmax - xmin) + 1
                     97: set title "binomial PDF with n = 25, p = 0.15"
                     98: plot binom(x) with steps
                     99: pause -1 "Hit return to continue"
                    100: set title "binomial CDF with n = 25, p = 0.15"
                    101: set yrange [0 : 1.1]
                    102: set ytics 0, 1.1 / 10.5, 1.1
                    103: plot cbinom(x) with steps
                    104: pause -1 "Hit return to continue"
                    105:
                    106: # Cauchy PDF and CDF
                    107: #a = 0.0; b = 2.0
                    108: #cauchy PDF has no moments
                    109: #xmin = a - 4.0 * b
                    110: #xmax = a + 4.0 * b
                    111: #ymax = 1.1 * cauchy(a) #Mode of cauchy PDF used
                    112: set key
                    113: set zeroaxis
                    114: #set xrange [xmin : xmax]
                    115: #set yrange [0 : ymax]
                    116: set xlabel "x ->"
                    117: set ylabel "probability density ->"
                    118: set xtics autofreq
                    119: set ytics autofreq
                    120: set format x "%.1f"
                    121: set format y "%.2f"
                    122: set sample 100
                    123: set title "cauchy PDF"
                    124: plot [-15:15] [0:0.2] a = 0, b = 2, cauchy(x) title "a = 0, b = 2", \
                    125:                       a = 0, b = 4, cauchy(x) title "a = 0, b = 4"
                    126: pause -1 "Hit return to continue"
                    127: set title "cauchy CDF"
                    128: plot [-30:30] [0:1.1] a = 0, b = 2, ccauchy(x) title "a = 0, b = 2", \
                    129:                       a = 0, b = 4, ccauchy(x) title "a = 0, b = 4"
                    130: pause -1 "Hit return to continue"
                    131:
                    132: # Chi-square PDF and CDF
                    133: #df1 = 4.0
                    134: #mu = df1
                    135: #sigma = sqrt(2.0 * df1)
                    136: #xmin = mu - 4.0 * sigma
                    137: #xmin = xmin < 0 ? 0 : xmin
                    138: #xmax = mu + 4.0 * sigma
                    139: #ymax = 1.1 * (df1 > 2.0 ? chi(df1 - 2.0) : 1.0) #Mode of chi PDF used
                    140: set key
                    141: set zeroaxis
                    142: #set xrange [xmin : xmax]
                    143: #set yrange [0 : ymax]
                    144: set xlabel "x ->"
                    145: set ylabel "probability density ->"
                    146: set xtics autofreq
                    147: set ytics autofreq
                    148: set format x "%.1f"
                    149: set format y "%.2f"
                    150: set sample 100
                    151: set title "chi-square PDF"
                    152: plot [0:15] [0:0.2] df1 = 4, chi(x) title "df = 4", \
                    153:                     df1 = 6, chi(x) title "df = 6", \
                    154:                     df1 = 8, chi(x) title "df = 8"
                    155: pause -1 "Hit return to continue"
                    156: set title "chi-square CDF"
                    157: plot [0:15] [0:1.1] df1 = 4, cchi(x) title "df = 4", \
                    158:                     df1 = 6, cchi(x) title "df = 6", \
                    159:                     df1 = 8, cchi(x) title "df = 8"
                    160: pause -1 "Hit return to continue"
                    161:
                    162: # Erlang PDF and CDF
                    163: #lambda = 1.0; n = 2.0
                    164: #mu = n / lambda
                    165: #sigma = sqrt(n) / lambda
                    166: #xmin = mu - 4.0 * sigma
                    167: #xmin = xmin < 0 ? 0 : xmin
                    168: #xmax = mu + 4.0 * sigma
                    169: #ymax = n < 2.0 ? 1.0 : 1.1 * erlang((n - 1.0) / lambda) #Mode of erlang PDF used
                    170: set key
                    171: set zeroaxis
                    172: #set xrange [xmin : xmax]
                    173: #set yrange [0 : ymax]
                    174: set xlabel "x ->"
                    175: set ylabel "probability density ->"
                    176: set xtics autofreq
                    177: set ytics autofreq
                    178: set format x "%.1f"
                    179: set format y "%.1f"
                    180: set sample 100
                    181: set title "erlang PDF"
                    182: plot [0:10] [0:1] lambda = 1, n = 2, erlang(x) title "lambda = 1, n = 2", \
                    183:                   lambda = 2, n = 2, erlang(x) title "lambda = 2, n = 2"
                    184: pause -1 "Hit return to continue"
                    185: set title "erlang CDF"
                    186: plot [0:10] [0:1.1] lambda = 1, n = 2, cerlang(x) title "lambda = 1, n = 2", \
                    187:                     lambda = 2, n = 2, cerlang(x) title "lambda = 2, n = 2"
                    188: pause -1 "Hit return to continue"
                    189:
                    190: # Thanks to mrb2j@kelvin.seas.Virginia.EDU for telling us about this.
                    191: # Extreme (Gumbel extreme value) PDF and CDF
                    192: #alpha = 0.5; u = 1.0
                    193: #mu = u + (0.577215665/alpha)   # Euler's constant
                    194: #sigma = pi/(sqrt(6.0)*alpha)
                    195: #xmin = mu - 4.0 * sigma
                    196: #xmax = mu + 4.0 * sigma
                    197: #ymax = 1.1 * extreme(u) #Mode of extreme PDF used
                    198: set key
                    199: set zeroaxis
                    200: #set xrange [xmin : xmax]
                    201: #set yrange [0 : ymax]
                    202: set xlabel "x ->"
                    203: set ylabel "probability density ->"
                    204: set xtics autofreq
                    205: set ytics autofreq
                    206: set format x "%.1f"
                    207: set format y "%.2f"
                    208: set sample 100
                    209: set title "extreme PDF"
                    210: plot [-10:10] [0:0.4] alpha = 0.5, u = 1.0, extreme(x) title "alpha = 0.5, u = 1.0", \
                    211:                       alpha = 1.0, u = 0.0, extreme(x) title "alpha = 1.0, u = 0.0"
                    212: pause -1 "Hit return to continue"
                    213: set title "extreme CDF"
                    214: plot [-10:10] [0:1.1] alpha = 0.5, u = 1.0, cextreme(x) title "alpha = 0.5, u = 1.0", \
                    215:                       alpha = 1.0, u = 0.0, cextreme(x) title "alpha = 1.0, u = 0.0"
                    216: pause -1 "Hit return to continue"
                    217:
                    218: # F PDF and CDF
                    219: #df1 = 5.0; df2 = 9.0
                    220: #mu = df2 < 2.0 ? 1.0 : df2 / (df2 - 2.0)
                    221: #sigma = df2 < 4.0 ? 1.0 : mu * sqrt(2.0 * (df1 + df2 - 2.0) / (df1 * (df2 - 4.0)))
                    222: #xmin = mu - 4.0 * sigma
                    223: #xmin = xmin < 0 ? 0 : xmin
                    224: #xmax = mu + 4.0 * sigma
                    225: #Mode of F PDF used
                    226: #ymax = df1 < 3.0 ? 1.0 : 1.1 * f((df1 / 2.0 - 1.0) / (df1 / 2.0 + df1 / df2))
                    227: set key
                    228: set zeroaxis
                    229: #set xrange [xmin : xmax]
                    230: #set yrange [0 : ymax]
                    231: set xlabel "x ->"
                    232: set ylabel "probability density ->"
                    233: set xtics autofreq
                    234: set ytics autofreq
                    235: set format x "%.1f"
                    236: set format y "%.2f"
                    237: set sample 100
                    238: set title "F PDF"
                    239: plot [0:4] [0:0.8] df1 = 5.0, df2 = 9.0, f(x) title "df1 = 5, df2 = 9", \
                    240:                    df1 = 7.0, df2 = 6.0, f(x) title "df1 = 7, df2 = 6"
                    241: pause -1 "Hit return to continue"
                    242: set title "F CDF"
                    243: plot [0:4] [0:1.1] df1 = 5.0, df2 = 9.0, cf(x) title "df1 = 5, df2 = 9", \
                    244:                    df1 = 7.0, df2 = 6.0, cf(x) title "df1 = 7, df2 = 6"
                    245: pause -1 "Hit return to continue"
                    246:
                    247: # Gamma PDF and incomplete gamma CDF
                    248: #rho = 0.5; lambda = 1.0
                    249: #mu = rho / lambda
                    250: #sigma = sqrt(rho) / lambda
                    251: #xmin = mu - 4.0 * sigma
                    252: #xmin = xmin < 0 ? 0 : xmin
                    253: #xmax = mu + 4.0 * sigma
                    254: #ymax = rho < 1.0 ? 2.0 : 1.1 * g((rho - 1.0) / lambda) #Mode of gamma pdf used
                    255: set key
                    256: set zeroaxis
                    257: #set xrange [xmin: xmax]
                    258: #set yrange [0: ymax]
                    259: set xlabel "x ->"
                    260: set ylabel "probability density ->"
                    261: set xtics autofreq
                    262: set ytics autofreq
                    263: set format x "%.1f"
                    264: set format y "%.1f"
                    265: set sample 100
                    266: set title "gamma PDF"
                    267: plot [0:5] [0:1.5] rho = 0.5, lambda = 1.0, g(x) title "rho = 0.5, lambda = 1.0", \
                    268:                    rho = 1.0, lambda = 1.0, g(x) title "rho = 1.0, lambda = 1.0", \
                    269:                    rho = 2.0, lambda = 2.0, g(x) title "rho = 2.0, lambda = 2.0"
                    270: pause -1 "Hit return to continue"
                    271: set title "incomplete gamma CDF (lambda == 1.0)"
                    272: plot [0:5] [0:1.1] rho = 0.5, cgamma(x) title "rho = 0.5", \
                    273:                    rho = 1.0, cgamma(x) title "rho = 1.0", \
                    274:                    rho = 2.0, cgamma(x) title "rho = 2.0"
                    275: pause -1 "Hit return to continue"
                    276:
                    277: # Geometric PDF and CDF
                    278: p = 0.4
                    279: mu = (1.0 - p) / p
                    280: sigma = sqrt(mu / p)
                    281: xmin = int(mu - 4.0 * sigma)
                    282: xmin = xmin < 0 ? 0 : xmin
                    283: xmax = int(mu + 4.0 * sigma)
                    284: xinc = ceil((xmax - xmin) / 10)
                    285: xinc = xinc > 1 ? xinc : 1
                    286: ymax = 1.1 * geometric(mu - 1/p) #mode of gamma PDF used
                    287: set nokey
                    288: set nozeroaxis
                    289: set xrange [xmin : xmax]
                    290: set yrange [0 : ymax]
                    291: set xlabel "k ->"
                    292: set ylabel "probability density ->"
                    293: set xtics xmin + 0.499, xinc, xmax
                    294: set ytics 0, ymax / 10, ymax
                    295: set format x "%2.0f"
                    296: set format y "%3.2f"
                    297: set sample (xmax - xmin) + 1
                    298: set title "geometric PDF with p = 0.4"
                    299: plot geometric(x) with steps
                    300: pause -1 "Hit return to continue"
                    301: set title "geometric CDF with p = 0.4"
                    302: set yrange [0 : 1.1]
                    303: set ytics 0, 1.1 / 10.5, 1.1
                    304: plot cgeometric(x) with steps
                    305: pause -1 "Hit return to continue"
                    306:
                    307: # Half normal PDF and CDF
                    308: mu = sqrt2invpi
                    309: sigma = 1.0
                    310: s = sigma*sqrt(1.0 - 2.0/pi)
                    311: xmin = 0.0
                    312: xmax = mu + 4.0 * s
                    313: ymax = 1.1 * halfnormal(0) #Mode of half normal PDF used
                    314: set nokey
                    315: set zeroaxis
                    316: set xrange [xmin: xmax]
                    317: set yrange [0: ymax]
                    318: set xlabel "x ->"
                    319: set ylabel "probability density ->"
                    320: set xtics autofreq
                    321: set ytics autofreq
                    322: set format x "%.1f"
                    323: set format y "%.1f"
                    324: set sample 100
                    325: set title "half normal PDF, sigma = 1.0"
                    326: plot halfnormal(x)
                    327: pause -1 "Hit return to continue"
                    328: set title "half normal CDF, sigma = 1.0"
                    329: set yrange [0:1.1]
                    330: plot chalfnormal(x)
                    331: pause -1 "Hit return to continue"
                    332:
                    333: # Hypergeometric PDF and CPF
                    334: nn = 75; mm = 25; n = 10
                    335: p = real(mm) / nn
                    336: mu = n * p
                    337: sigma = sqrt(real(nn - n) / (nn - 1.0) * n * p * (1.0 - p))
                    338: xmin = int(mu - 4.0 * sigma)
                    339: xmin = xmin < 0 ? 0 : xmin
                    340: xmax = int(mu + 4.0 * sigma)
                    341: xinc = ceil((xmax - xmin) / 10)
                    342: xinc = xinc > 1 ? xinc : 1
                    343: ymax = 1.1 * hypgeo(mu) #mode of binomial PDF used
                    344: set nokey
                    345: set nozeroaxis
                    346: set xrange [xmin : xmax]
                    347: set yrange [0 : ymax]
                    348: set xlabel "k ->"
                    349: set ylabel "probability density ->"
                    350: set xtics xmin + 0.499, xinc, xmax
                    351: set ytics 0, ymax / 10, ymax
                    352: set format x "%2.0f"
                    353: set format y "%3.2f"
                    354: set sample (xmax - xmin) + 1
                    355: set title "hypergeometric PDF with nn = 75, mm = 25, n = 10"
                    356: plot hypgeo(x) with steps
                    357: pause -1 "Hit return to continue"
                    358: set yrange [0 : 1.1]
                    359: set ytics 0, 1.1 / 10.5, 1.1
                    360: set title "hypergeometric CDF with nn = 75, mm = 25, n = 10"
                    361: plot chypgeo(x) with steps
                    362: pause -1 "Hit return to continue"
                    363:
                    364: # Laplace PDF
                    365: a = 0.0; b = 1.0
                    366: mu = a
                    367: sigma = sqrt(2.0) * b
                    368: xmin = mu - 4.0 * sigma
                    369: xmax = mu + 4.0 * sigma
                    370: ymax = 1.1 * laplace(a) #Mode of laplace PDF used
                    371: set nokey
                    372: set zeroaxis
                    373: set xrange [xmin: xmax]
                    374: set yrange [0: ymax]
                    375: set xlabel "x ->"
                    376: set ylabel "probability density ->"
                    377: set xtics autofreq
                    378: set ytics autofreq
                    379: set format x "%.1f"
                    380: set format y "%.2f"
                    381: set sample 100
                    382: set title "laplace (or double exponential) PDF with a = 0, b = 1"
                    383: plot laplace(x)
                    384: pause -1 "Hit return to continue"
                    385: set title "laplace (or double exponential) CDF with a = 0, b = 1"
                    386: set yrange [0: 1.1]
                    387: plot claplace(x)
                    388: pause -1 "Hit return to continue"
                    389:
                    390: # Logistic PDF and CDF
                    391: a = 0.0; lambda = 2.0
                    392: mu = a
                    393: sigma = pi / (sqrt(3.0) * lambda)
                    394: xmin = mu - 4.0 * sigma
                    395: xmax = mu + 4.0 * sigma
                    396: ymax = 1.1 * logistic(mu) #Mode of logistic PDF used
                    397: set nokey
                    398: set zeroaxis
                    399: set xrange [xmin: xmax]
                    400: set yrange [0: ymax]
                    401: set nokey
                    402: set zeroaxis
                    403: set xlabel "x ->"
                    404: set ylabel "probability density ->"
                    405: set xtics autofreq
                    406: set ytics autofreq
                    407: set format x "%.1f"
                    408: set format y "%.1f"
                    409: set sample 100
                    410: set title "logistic PDF with a = 0, lambda = 2"
                    411: plot logistic(x)
                    412: pause -1 "Hit return to continue"
                    413: set title "logistic CDF with a = 0, lambda = 2"
                    414: set yrange [0: 1.1]
                    415: plot clogistic(x)
                    416: pause -1 "Hit return to continue"
                    417:
                    418: # Lognormal PDF and CDF
                    419: mu = 1.0; sigma = 0.5
                    420: m = exp(mu + 0.5 * sigma**2)
                    421: s = sqrt(exp(2.0 * mu + sigma**2) * (2.0 * exp(sigma) - 1.0))
                    422: xmin = m - 4.0 * s
                    423: xmin = xmin < 0 ? 0 : xmin
                    424: xmax = m + 4.0 * s
                    425: ymax = 1.1 * lognormal(exp(mu - sigma**2)) #Mode of lognormal PDF used
                    426: set nokey
                    427: set zeroaxis
                    428: set xrange [xmin: xmax]
                    429: set yrange [0: ymax]
                    430: set xlabel "x ->"
                    431: set ylabel "probability density ->"
                    432: set xtics autofreq
                    433: set ytics autofreq
                    434: set format x "%.2f"
                    435: set format y "%.2f"
                    436: set sample 100
                    437: set title "lognormal PDF with mu = 1.0, sigma = 0.5"
                    438: plot lognormal(x)
                    439: pause -1 "Hit return to continue"
                    440: set title "lognormal CDF with mu = 1.0, sigma = 0.5"
                    441: set yrange [0: 1.1]
                    442: plot clognormal(x)
                    443: pause -1 "Hit return to continue"
                    444:
                    445: # Maxwell PDF
                    446: #a = 0.1
                    447: #mu = 2.0 / sqrt(pi) / a
                    448: #sigma = sqrt(3.0 - 8.0/pi) / a
                    449: #xmin = mu - 4.0 * sigma
                    450: #xmin = xmin < 0 ? 0 : xmin
                    451: #xmax = mu + 4.0 * sigma
                    452: #ymax = 1.1 * maxwell(1.0 / a) #Mode of maxwell PDF used
                    453: set key
                    454: set zeroaxis
                    455: #set xrange[xmin: xmax]
                    456: #set yrange[0: ymax]
                    457: set xlabel "x ->"
                    458: set ylabel "probability density ->"
                    459: set xtics autofreq
                    460: set ytics autofreq
                    461: set format x "%.1f"
                    462: set format y "%.1f"
                    463: set sample 100
                    464: set title "maxwell PDF"
                    465: plot [0:6] [0:1.4] a = 1.5, maxwell(x) title "a = 1.5", \
                    466:                    a = 1.0, maxwell(x) title "a = 1.0", \
                    467:                    a = 0.5, maxwell(x) title "a = 0.5"
                    468: pause -1 "Hit return to continue"
                    469: set title "maxwell CDF"
                    470: plot [0:6] [0:1.1] a = 1.5, cmaxwell(x) title "a = 1.5", \
                    471:                    a = 1.0, cmaxwell(x) title "a = 1.0", \
                    472:                    a = 0.5, cmaxwell(x) title "a = 0.5"
                    473: pause -1 "Hit return to continue"
                    474:
                    475: # Negative binomial PDF and CDF
                    476: r = 8; p = 0.4
                    477: mu = r * (1.0 - p) / p
                    478: sigma = sqrt(mu / p)
                    479: xmin = int(mu - 4.0 * sigma)
                    480: xmin = xmin < 0 ? 0 : xmin
                    481: xmax = int(mu + 4.0 * sigma)
                    482: xinc = ceil((xmax - xmin) / 10)
                    483: xinc = xinc > 1 ? xinc : 1
                    484: ymax = 1.1 * negbin(mu - 1.0/p) #mode of gamma PDF used
                    485: set nokey
                    486: set nozeroaxis
                    487: set xrange [xmin : xmax]
                    488: set yrange [0 : ymax]
                    489: set xlabel "k ->"
                    490: set ylabel "probability density ->"
                    491: set xtics xmin + 0.499, xinc, xmax
                    492: set ytics 0, ymax / 10, ymax
                    493: set format x "%2.0f"
                    494: set format y "%3.2f"
                    495: set sample (xmax - xmin) + 1
                    496: set title "negative binomial (or pascal or polya) PDF with r = 8, p = 0.4"
                    497: plot negbin(x) with steps
                    498: pause -1 "Hit return to continue"
                    499: set yrange [0 : 1.1]
                    500: set ytics 0, 1.1 / 10.5, 1.1
                    501: set title "negative binomial (or pascal or polya) CDF with r = 8, p = 0.4"
                    502: plot cnegbin(x) with steps
                    503: pause -1 "Hit return to continue"
                    504:
                    505: # Negative exponential PDF and CDF
                    506: lambda = 2.0
                    507: mu = 1.0 / lambda
                    508: sigma = 1.0 / lambda
                    509: xmax =  mu + 4.0 * sigma
                    510: ymax = lambda #No mode
                    511: set nokey
                    512: set zeroaxis
                    513: set xrange [0: xmax]
                    514: set yrange [0: ymax]
                    515: set xlabel "x ->"
                    516: set ylabel "probability density ->"
                    517: set xtics autofreq
                    518: set ytics autofreq
                    519: set format x "%.2f"
                    520: set format y "%.1f"
                    521: set sample 100
                    522: set title "negative exponential (or exponential) PDF with lambda = 2.0"
                    523: plot nexp(x)
                    524: pause -1 "Hit return to continue"
                    525: set title "negative exponential (or exponential) CDF with lambda = 2.0"
                    526: set yrange [0: 1.1]
                    527: plot cnexp(x)
                    528: pause -1 "Hit return to continue"
                    529:
                    530: # Normal PDF and CDF
                    531: #mu = 0.0; sigma = 1.0
                    532: #xmin = mu - 4.0 * sigma
                    533: #xmax = mu + 4.0 * sigma
                    534: #ymax = 1.1 * normal(mu) #Mode of normal PDF used
                    535: set key
                    536: set zeroaxis
                    537: #set xrange [xmin: xmax]
                    538: #set yrange [0: ymax]
                    539: set xlabel "x ->"
                    540: set ylabel "probability density ->"
                    541: set xtics autofreq
                    542: set ytics autofreq
                    543: set format x "%.1f"
                    544: set format y "%.1f"
                    545: set sample 100
                    546: set title "normal (also called gauss or bell-curved) PDF"
                    547: plot [-4:4] [0:1] mu = 0, sigma = 1.0, normal(x) title "mu = 0, sigma = 1.0", \
                    548:                   mu = 2, sigma = 0.5, normal(x) title "mu = 2, sigma = 0.5", \
                    549:                   mu = 1, sigma = 2.0, normal(x) title "mu = 1, sigma = 2.0"
                    550: pause -1 "Hit return to continue"
                    551: set title "normal (also called gauss or bell-curved) CDF"
                    552: plot [-4:4] [0:1.1] mu = 0, sigma = 1.0, cnormal(x) title "mu = 0, sigma = 1.0", \
                    553:                     mu = 2, sigma = 0.5, cnormal(x) title "mu = 2, sigma = 0.5", \
                    554:                     mu = 1, sigma = 2.0, cnormal(x) title "mu = 1, sigma = 2.0"
                    555: pause -1 "Hit return to continue"
                    556:
                    557: # Pareto PDF and CDF
                    558: a = 1.0; b = 3.0
                    559: mu = a * b / (b - 1.0)
                    560: sigma = a * sqrt(b) / (sqrt(b - 2.0) * (b - 1.0))
                    561: xmin = mu - 4.0 * sigma
                    562: xmin = xmin < 0 ? 0 : xmin
                    563: xmax = mu + 4.0 * sigma
                    564: ymax = 1.1 * pareto(a) #mode of pareto PDF used
                    565: set nokey
                    566: set zeroaxis
                    567: set xrange [xmin: xmax]
                    568: set yrange [0: ymax]
                    569: set xlabel "x ->"
                    570: set ylabel "probability density ->"
                    571: set xtics autofreq
                    572: set ytics autofreq
                    573: set format x "%.1f"
                    574: set format y "%.1f"
                    575: set sample 500
                    576: set title "pareto PDF with a = 1, b = 3"
                    577: plot pareto(x)
                    578: pause -1 "Hit return to continue"
                    579: set title "pareto CDF with a = 1, b = 3"
                    580: set yrange [0: 1.1]
                    581: plot cpareto(x)
                    582: pause -1 "Hit return to continue"
                    583:
                    584: # Poisson PDF and CDF
                    585: mu = 4.0
                    586: sigma = sqrt(mu)
                    587: xmin = int(mu - 4.0 * sigma)
                    588: xmin = xmin < 0 ? 0 : xmin
                    589: xmax = int(mu + 4.0 * sigma)
                    590: xinc = ceil((xmax - xmin) / 10)
                    591: xinc = xinc > 1 ? xinc : 1
                    592: ymax = 1.1 * poisson(mu) #mode of poisson PDF used
                    593: set nokey
                    594: set nozeroaxis
                    595: set xrange [xmin : xmax]
                    596: set yrange [0 : ymax]
                    597: set xlabel "k ->"
                    598: set ylabel "probability density ->"
                    599: set xtics xmin + 0.499, xinc, xmax
                    600: set ytics 0, ymax / 10, ymax
                    601: set format x "%2.0f"
                    602: set format y "%3.2f"
                    603: set sample (xmax - xmin) + 1
                    604: set title "poisson PDF with mu = 4.0"
                    605: plot poisson(x) with steps
                    606: pause -1 "Hit return to continue"
                    607: set yrange [0 : 1.1]
                    608: set ytics 0, 1.1 / 10.5, 1.1
                    609: set title "poisson CDF with mu = 4.0"
                    610: plot cpoisson(x) with steps
                    611: pause -1 "Hit return to continue"
                    612:
                    613: # Rayleigh PDF and CDF
                    614: lambda = 2.0
                    615: mu = 0.5 * sqrt(pi / lambda)
                    616: sigma = sqrt((1.0 - pi / 4.0) / lambda)
                    617: xmax = mu + 4.0 * sigma
                    618: ymax = 1.1 * rayleigh(1.0 / sqrt(2.0 * lambda)) #Mode of rayleigh PDF used
                    619: set nokey
                    620: set zeroaxis
                    621: set xrange [0: xmax]
                    622: set yrange [0: ymax]
                    623: set xlabel "x ->"
                    624: set ylabel "probability density ->"
                    625: set xtics autofreq
                    626: set ytics autofreq
                    627: set format x "%.2f"
                    628: set format y "%.1f"
                    629: set sample 100
                    630: set title "rayleigh PDF with lambda = 2.0"
                    631: plot rayleigh(x)
                    632: pause -1 "Hit return to continue"
                    633: set title "rayleigh CDF with lambda = 2.0"
                    634: set yrange [0: 1.1]
                    635: plot crayleigh(x)
                    636: pause -1 "Hit return to continue"
                    637:
                    638: # Sine PDF and CDF
                    639: #a = 3.0; n = 2
                    640: #mu = a / 2.0
                    641: #sigma = sqrt(a * a / 3.0 * (1.0 - 3.0 / (2.0 * n * n * pi * pi)) - mu * mu)
                    642: #xmin = 0.0
                    643: #xmax = a
                    644: #ymax = 1.1 * 2.0 / a #Mode of sine PDF used
                    645: set key
                    646: set zeroaxis
                    647: #set xrange [xmin: xmax]
                    648: #set yrange [0: ymax]
                    649: set xlabel "x ->"
                    650: set ylabel "probability density ->"
                    651: set xtics autofreq
                    652: set ytics autofreq
                    653: set format x "%.2f"
                    654: set format y "%.1f"
                    655: set sample 100
                    656: set title "sine PDF"
                    657: plot [0:2] [0:1.1] a = 2.0, n = 1, sine(x) title "a = 2.0, n = 1", \
                    658:                    a = 2.0, n = 3, sine(x) title "a = 2.0, n = 3"
                    659: pause -1 "Hit return to continue"
                    660: set title "sine CDF"
                    661: plot [0:2] [0:1.1] a = 2.0, n = 1, csine(x) title "a = 2.0, n = 1", \
                    662:                    a = 2.0, n = 3, csine(x) title "a = 2.0, n = 3"
                    663: pause -1 "Hit return to continue"
                    664:
                    665: # t PDF and CDF
                    666: df1 = 3.0
                    667: mu = 0.0
                    668: sigma = df1 > 2.0 ? sqrt(df1 / (df1 - 2.0)) : 1.0
                    669: xmin = mu - 4.0 * sigma
                    670: xmax = mu + 4.0 * sigma
                    671: ymax = 1.1 * t(mu) #Mode of t PDF used
                    672: set nokey
                    673: set zeroaxis
                    674: set xrange [xmin: xmax]
                    675: set yrange [0: ymax]
                    676: set xlabel "x ->"
                    677: set ylabel "probability density ->"
                    678: set xtics autofreq
                    679: set ytics autofreq
                    680: set format x "%.1f"
                    681: set format y "%.2f"
                    682: set sample 100
                    683: set title "t PDF with df1 = 3.0"
                    684: plot t(x)
                    685: pause -1 "Hit return to continue"
                    686: set title "t CDF with df1 = 3.0"
                    687: set yrange [0: 1.1]
                    688: plot ct(x)
                    689: pause -1 "Hit return to continue"
                    690:
                    691: # Thanks to efrank@upenn5.hep.upenn.edu for telling us about this
                    692: # triangular PDF and CDF
                    693: m = 3.0
                    694: g = 2.0
                    695: mu = m
                    696: sigma = g/sqrt(6.0)
                    697: xmin = m - g
                    698: xmax = m + g
                    699: ymax = 1.1 * triangular(m) #Mode of triangular PDF used
                    700: set nokey
                    701: set zeroaxis
                    702: set xrange [xmin: xmax]
                    703: set yrange [0: ymax]
                    704: set xlabel "x ->"
                    705: set ylabel "probability density ->"
                    706: set xtics autofreq
                    707: set ytics autofreq
                    708: set format x "%.1f"
                    709: set format y "%.2f"
                    710: set sample 100
                    711: set title "triangular PDF with m = 3.0, g = 2.0"
                    712: plot triangular(x)
                    713: pause -1 "Hit return to continue"
                    714: set title "triangular CDF with m = 3.0, g = 2.0"
                    715: set yrange [0: 1.1]
                    716: plot ctriangular(x)
                    717: pause -1 "Hit return to continue"
                    718:
                    719: # Uniform PDF and CDF
                    720: a = -2.0; b= 2.0
                    721: mu = (a + b) / 2.0
                    722: sigma = (b - a) / sqrt(12.0)
                    723: xmin = a
                    724: xmax = b
                    725: ymax = 1.1 * uniform(mu) #No mode
                    726: set nokey
                    727: set zeroaxis
                    728: set xrange [xmin: xmax]
                    729: set yrange [0: ymax]
                    730: set xlabel "x ->"
                    731: set ylabel "probability density ->"
                    732: set xtics autofreq
                    733: set ytics autofreq
                    734: set format x "%.2f"
                    735: set format y "%.2f"
                    736: set sample 100
                    737: set title "uniform PDF with a = -2.0, b = 2.0"
                    738: plot uniform(x)
                    739: pause -1 "Hit return to continue"
                    740: set title "uniform CDF with a = -2.0, b = 2.0"
                    741: set yrange [0: 1.1]
                    742: plot cuniform(x)
                    743: pause -1 "Hit return to continue"
                    744:
                    745: # Weibull PDF and CDF
                    746: #lambda = 1.0; n = 1.5
                    747: #mu = lambda**(-1.0 / n) * gamma(1.0 / n) / n
                    748: #sigma = sqrt(2.0 * lambda**(-2.0 / n) * gamma(2.0 / n) / n - mu * mu)
                    749: #xmin = mu - 4.0 * sigma
                    750: #xmin = xmin < 0 ? 0 : xmin
                    751: #xmax = mu + 4.0 * sigma
                    752: #Mode of weibull PDF used
                    753: #ymax = 1.1 * (n > 1.0 ? weibull(((n - 1.0) / (lambda * n))**(1.0 / n)) : 2.0)
                    754: set key
                    755: set zeroaxis
                    756: #set xrange [xmin : xmax]
                    757: #set yrange [0: ymax]
                    758: set xlabel "x ->"
                    759: set ylabel "probability density ->"
                    760: set xtics autofreq
                    761: set ytics autofreq
                    762: set format x "%.2f"
                    763: set format y "%.1f"
                    764: set sample 100
                    765: set title "weibull PDF"
                    766: plot [0:2] [0:1.5] lambda = 1, n = 0.5, weibull(x) title "lambda = 1, n = 0.5", \
                    767:                    lambda = 1, n = 1.0, weibull(x) title "lambda = 1, n = 1.0", \
                    768:                    lambda = 1, n = 2.0, weibull(x) title "lambda = 1, n = 2.0", \
                    769:                    lambda = 3, n = 2.0, weibull(x) title "lambda = 3, n = 2.0"
                    770: pause -1 "Hit return to continue"
                    771: set title "weibull CDF"
                    772: plot [0:3] [0:1.2] lambda = 1, n = 0.5, cweibull(x) title "lambda = 1, n = 0.5", \
                    773:                    lambda = 1, n = 1.0, cweibull(x) title "lambda = 1, n = 1.0", \
                    774:                    lambda = 1, n = 2.0, cweibull(x) title "lambda = 1, n = 2.0", \
                    775:                    lambda = 3, n = 2.0, cweibull(x) title "lambda = 3, n = 2.0"

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>