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

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

1.1       maekawa     1: #
                      2: # $Id: prob2.dem,v 1.3 1994/03/30 01:28:45 alex Exp $
                      3: #
                      4: # Demo Statistical Approximations version 1.1
                      5: #
                      6: # Permission granted to distribute freely for non-commercial purposes only
                      7: #
                      8: # Copyright (c) 1991, Jos van der Woude, jvdwoude@hut.nl
                      9:
                     10: pause  0 ""
                     11: pause  0 ""
                     12: pause  0 ""
                     13: pause  0 ""
                     14: pause  0 ""
                     15: pause  0 ""
                     16: pause  0 "                        Statistical Approximations, version 1.1"
                     17: pause  0 ""
                     18: pause  0 "        Copyright (c) 1991, 1992, Jos van de Woude, jvdwoude@hut.nl"
                     19: pause  0 ""
                     20: pause  0 ""
                     21: pause  0 " Permission granted to distribute freely for non-commercial purposes only"
                     22: pause  0 ""
                     23: pause  0 ""
                     24: pause  0 ""
                     25: pause  0 ""
                     26: pause  0 ""
                     27: pause  0 ""
                     28: pause  0 ""
                     29: pause  0 ""
                     30: pause  0 ""
                     31: pause  0 "     NOTE: contains 10 plots and consequently takes some time to run"
                     32: pause  0 "                      Press Ctrl-C to exit right now"
                     33: pause  0 ""
                     34: pause -1 "                      Press Return to start demo ..."
                     35:
                     36: load "stat.inc"
                     37:
                     38: # Binomial PDF using normal approximation
                     39: n = 25; p = 0.15
                     40: mu = n * p
                     41: sigma = sqrt(n * p * (1.0 - p))
                     42: xmin = floor(mu - 4.0 * sigma)
                     43: xmin = xmin < 0 ? 0 : xmin
                     44: xmax = ceil(mu + 4.0 * sigma)
                     45: ymax = 1.1 * binom(mu) #mode of binomial PDF used
                     46: xinc = ceil((xmax - xmin) / 10)
                     47: xinc = xinc > 1 ? xinc : 1
                     48: set key
                     49: set nozeroaxis
                     50: set xrange [xmin - 1 : xmax + 1]
                     51: set yrange [0 : ymax]
                     52: set xlabel "k, x ->"
                     53: set ylabel "probability density ->"
                     54: set xtics xmin + 0.499, ceil(sigma), xmax
                     55: set ytics 0, ymax / 10.0, ymax
                     56: set format x "%2.0f"
                     57: set format y "%3.2f"
                     58: set sample 200
                     59: set title "binomial PDF using normal approximation"
                     60: set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead
                     61: set arrow from mu + 0.5, normal(mu + sigma) \
                     62:           to mu + 0.5 + sigma, normal(mu + sigma) nohead
                     63: set label "mu" at mu + 1, ymax / 10
                     64: set label "sigma" at mu + 1 + sigma, normal(mu + sigma)
                     65: plot binom(x), normal(x - 0.5)
                     66: pause -1 "Hit return to continue"
                     67: set noarrow
                     68: set nolabel
                     69:
                     70: # Binomial PDF using poisson approximation
                     71: n = 50; p = 0.1
                     72: mu = n * p
                     73: sigma = sqrt(mu)
                     74: xmin = floor(mu - 4.0 * sigma)
                     75: xmin = xmin < 0 ? 0 : xmin
                     76: xmax = ceil(mu + 4.0 * sigma)
                     77: ymax = 1.1 * binom(mu) #mode of binomial PDF used
                     78: xinc = ceil((xmax - xmin) / 10)
                     79: xinc = xinc > 1 ? xinc : 1
                     80: set key
                     81: set nozeroaxis
                     82: set xrange [xmin - 1 : xmax + 1]
                     83: set yrange [0 : ymax]
                     84: set xlabel "k ->"
                     85: set ylabel "probability density ->"
                     86: set xtics xmin + 0.499, ceil(sigma), xmax
                     87: set ytics 0, ymax / 10.0, ymax
                     88: set format x "%2.0f"
                     89: set format y "%3.2f"
                     90: set sample 200
                     91: set title "binomial PDF using poisson approximation"
                     92: set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead
                     93: set arrow from mu + 0.5, normal(mu + sigma) \
                     94:           to mu + 0.5 + sigma, normal(mu + sigma) nohead
                     95: set label "mu" at mu + 1, ymax / 10
                     96: set label "sigma" at mu + 1 + sigma, normal(mu + sigma)
                     97: plot binom(x), poisson(x)
                     98: pause -1 "Hit return to continue"
                     99: set noarrow
                    100: set nolabel
                    101:
                    102: # Geometric PDF using gamma approximation
                    103: p = 0.3
                    104: mu = (1.0 - p) / p
                    105: sigma = sqrt(mu / p)
                    106: lambda = p
                    107: rho = 1.0 - p
                    108: xmin = floor(mu - 4.0 * sigma)
                    109: xmin = xmin < 0 ? 0 : xmin
                    110: xmax = ceil(mu + 4.0 * sigma)
                    111: xinc = ceil((xmax - xmin) / 10)
                    112: xinc = xinc > 1 ? xinc : 1
                    113: ymax = 1.1 * p
                    114: set key
                    115: set nozeroaxis
                    116: set xrange [xmin - 1 : xmax + 1]
                    117: set yrange [0 : ymax]
                    118: set xlabel "k, x ->"
                    119: set ylabel "probability density ->"
                    120: set xtics xmin + 0.499, ceil((xmax - xmin)/ 10.0), xmax
                    121: set ytics 0, ymax / 10.0, ymax
                    122: set format x "%2.0f"
                    123: set format y "%3.2f"
                    124: set sample 200
                    125: set title "geometric PDF using gamma approximation"
                    126: set arrow from mu + 0.5, 0 to mu + 0.5, g(mu) nohead
                    127: set arrow from mu + 0.5, g(mu + sigma) \
                    128:           to mu + 0.5 + sigma, g(mu + sigma) nohead
                    129: set label "mu" at mu + 1, ymax / 10
                    130: set label "sigma" at mu + 1 + sigma, g(mu + sigma)
                    131: plot geometric(x), g(x - 0.5)
                    132: pause -1 "Hit return to continue"
                    133: set noarrow
                    134: set nolabel
                    135:
                    136: # Geometric PDF using normal approximation
                    137: p = 0.3
                    138: mu = (1.0 - p) / p
                    139: sigma = sqrt(mu / p)
                    140: xmin = floor(mu - 4.0 * sigma)
                    141: xmin = xmin < 0 ? 0 : xmin
                    142: xmax = ceil(mu + 4.0 * sigma)
                    143: xinc = ceil((xmax - xmin) / 10)
                    144: xinc = xinc > 1 ? xinc : 1
                    145: ymax = 1.1 * p
                    146: set key
                    147: set nozeroaxis
                    148: set xrange [xmin - 1 : xmax + 1]
                    149: set yrange [0 : ymax]
                    150: set xlabel "k, x ->"
                    151: set ylabel "probability density ->"
                    152: set xtics xmin + 0.499, ceil((xmax - xmin)/ 10.0), xmax
                    153: set ytics 0, ymax / 10.0, ymax
                    154: set format x "%2.0f"
                    155: set format y "%3.2f"
                    156: set sample 200
                    157: set title "geometric PDF using normal approximation"
                    158: set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead
                    159: set arrow from mu + 0.5, normal(mu + sigma) \
                    160:           to mu + 0.5 + sigma, normal(mu + sigma) nohead
                    161: set label "mu" at mu + 1, ymax / 10
                    162: set label "sigma" at mu + 1 + sigma, normal(mu + sigma)
                    163: plot geometric(x), normal(x - 0.5)
                    164: pause -1 "Hit return to continue"
                    165: set noarrow
                    166: set nolabel
                    167:
                    168: # Hypergeometric PDF using binomial approximation
                    169: nn = 75; mm = 25; n = 10
                    170: p = real(mm) / nn
                    171: mu = n * p
                    172: sigma = sqrt(real(nn - n) / (nn - 1.0) * n * p * (1.0 - p))
                    173: xmin = floor(mu - 4.0 * sigma)
                    174: xmin = xmin < 0 ? 0 : xmin
                    175: xmax = ceil(mu + 4.0 * sigma)
                    176: xinc = ceil((xmax - xmin) / 10)
                    177: xinc = xinc > 1 ? xinc : 1
                    178: ymax = 1.1 * hypgeo(mu) #mode of binom PDF used
                    179: set key
                    180: set nozeroaxis
                    181: set xrange [xmin - 1 : xmax + 1]
                    182: set yrange [0 : ymax]
                    183: set xlabel "k ->"
                    184: set ylabel "probability density ->"
                    185: set xtics xmin, xinc, xmax
                    186: set ytics 0, ymax / 10.0, ymax
                    187: set format x "%2.0f"
                    188: set format y "%3.2f"
                    189: set sample 200
                    190: set title "hypergeometric PDF using binomial approximation"
                    191: set arrow from mu + 0.5, 0 to mu + 0.5, binom(mu) nohead
                    192: set arrow from mu + 0.5, binom(mu + sigma) \
                    193:           to mu + 0.5 + sigma, binom(mu + sigma) nohead
                    194: set label "mu" at mu + 1, ymax / 10
                    195: set label "sigma" at mu + 1 + sigma, binom(mu + sigma)
                    196: plot hypgeo(x), binom(x)
                    197: pause -1 "Hit return to continue"
                    198: set noarrow
                    199: set nolabel
                    200:
                    201: # Hypergeometric PDF using normal approximation
                    202: nn = 75; mm = 25; n = 10
                    203: p = real(mm) / nn
                    204: mu = n * p
                    205: sigma = sqrt(real(nn - n) / (nn - 1.0) * n * p * (1.0 - p))
                    206: xmin = floor(mu - 4.0 * sigma)
                    207: xmin = xmin < 0 ? 0 : xmin
                    208: xmax = ceil(mu + 4.0 * sigma)
                    209: xinc = ceil((xmax - xmin) / 10)
                    210: xinc = xinc > 1 ? xinc : 1
                    211: ymax = 1.1 * hypgeo(mu) #mode of binom PDF used
                    212: set key
                    213: set nozeroaxis
                    214: set xrange [xmin - 1 : xmax + 1]
                    215: set yrange [0 : ymax]
                    216: set xlabel "k, x ->"
                    217: set ylabel "probability density ->"
                    218: set xtics xmin, xinc, xmax
                    219: set ytics 0, ymax / 10.0, ymax
                    220: set format x "%2.0f"
                    221: set format y "%3.2f"
                    222: set sample 200
                    223: set title "hypergeometric PDF using normal approximation"
                    224: set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead
                    225: set arrow from mu + 0.5, normal(mu + sigma) \
                    226:           to mu + 0.5 + sigma, normal(mu + sigma) nohead
                    227: set label "mu" at mu + 1, ymax / 10
                    228: set label "sigma" at mu + 1 + sigma, normal(mu + sigma)
                    229: plot hypgeo(x), normal(x - 0.5)
                    230: pause -1 "Hit return to continue"
                    231: set noarrow
                    232: set nolabel
                    233:
                    234: # Negative binomial PDF using gamma approximation
                    235: r = 8; p = 0.6
                    236: mu = r * (1.0 - p) / p
                    237: sigma = sqrt(mu / p)
                    238: lambda = p
                    239: rho = r * (1.0 - p)
                    240: xmin = int(mu - 4.0 * sigma)
                    241: xmin = xmin < 0 ? 0 : xmin
                    242: xmax = int(mu + 4.0 * sigma)
                    243: xinc = ceil((xmax - xmin) / 10)
                    244: xinc = xinc > 1 ? xinc : 1
                    245: ymax = 1.1 * g((rho - 1) / lambda) #mode of gamma PDF used
                    246: set key
                    247: set nozeroaxis
                    248: set xrange [xmin - 1 : xmax + 1]
                    249: set yrange [0 : ymax]
                    250: set xlabel "k, x ->"
                    251: set ylabel "probability density ->"
                    252: set xtics xmin + 0.499, ceil((xmax - xmin)/ 10.0), xmax
                    253: set ytics 0, ymax / 10.0, ymax
                    254: set format x "%2.0f"
                    255: set format y "%3.2f"
                    256: set sample 200
                    257: set title "negative binomial PDF using gamma approximation"
                    258: set arrow from mu + 0.5, 0 to mu + 0.5, g(mu) nohead
                    259: set arrow from mu + 0.5, g(mu + sigma) \
                    260:           to mu + 0.5 + sigma, g(mu + sigma) nohead
                    261: set label "mu" at mu + 1, ymax / 10
                    262: set label "sigma" at mu + 1 + sigma, g(mu + sigma)
                    263: plot negbin(x), g(x - 0.5)
                    264: pause -1 "Hit return to continue"
                    265: set noarrow
                    266: set nolabel
                    267:
                    268: # Negative binomial PDF using normal approximation
                    269: r = 8; p = 0.4
                    270: mu = r * (1.0 - p) / p
                    271: sigma = sqrt(mu / p)
                    272: xmin = floor(mu - 4.0 * sigma)
                    273: xmin = xmin < 0 ? 0 : xmin
                    274: xmax = ceil(mu + 4.0 * sigma)
                    275: xinc = ceil((xmax - xmin) / 10)
                    276: xinc = xinc > 1 ? xinc : 1
                    277: ymax = 1.1 * negbin(mu - 1/p) #mode of gamma PDF used
                    278: set key
                    279: set nozeroaxis
                    280: set xrange [xmin - 1 : xmax + 1]
                    281: set yrange [0 : ymax]
                    282: set xlabel "k, x ->"
                    283: set ylabel "probability density ->"
                    284: set xtics xmin + 0.499, ceil((xmax - xmin)/ 10.0), xmax
                    285: set ytics 0, ymax / 10.0, ymax
                    286: set format x "%2.0f"
                    287: set format y "%3.2f"
                    288: set sample 200
                    289: set title "negative binomial PDF using normal approximation"
                    290: set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead
                    291: set arrow from mu + 0.5, normal(mu + sigma) \
                    292:           to mu + 0.5 + sigma, normal(mu + sigma) nohead
                    293: set label "mu" at mu + 1, ymax / 10
                    294: set label "sigma" at mu + 1 + sigma, normal(mu + sigma)
                    295: plot negbin(x), normal(x - 0.5)
                    296: pause -1 "Hit return to continue"
                    297: set noarrow
                    298: set nolabel
                    299:
                    300: # Normal PDF using logistic approximation
                    301: mu = 1.0; sigma = 1.5
                    302: a = mu
                    303: lambda = pi / (sqrt(3.0) * sigma)
                    304: xmin = mu - 4.0 * sigma
                    305: xmax = mu + 4.0 * sigma
                    306: ymax = 1.1 * logistic(mu) #mode of logistic PDF used
                    307: set key
                    308: set nozeroaxis
                    309: set xrange [xmin: xmax]
                    310: set yrange [0 : ymax]
                    311: set xlabel "x ->"
                    312: set ylabel "probability density ->"
                    313: set xtics xmin, (xmax - xmin)/ 10.0, xmax
                    314: set ytics 0, ymax / 10.0, ymax
                    315: set format x "%.1f"
                    316: set format y "%.2f"
                    317: set sample 200
                    318: set title "normal PDF using logistic approximation"
                    319: set arrow from mu,0 to mu, normal(mu) nohead
                    320: set arrow from mu, normal(mu + sigma) \
                    321:           to mu + sigma, normal(mu + sigma) nohead
                    322: set label "mu" at mu + 1, ymax / 10
                    323: set label "sigma" at mu + 1 + sigma, normal(mu + sigma)
                    324: plot logistic(x), normal(x)
                    325: pause -1 "Hit return to continue"
                    326: set noarrow
                    327: set nolabel
                    328:
                    329: # Poisson PDF using normal approximation
                    330: mu = 5.0
                    331: sigma = sqrt(mu)
                    332: xmin = floor(mu - 4.0 * sigma)
                    333: xmin = xmin < 0 ? 0 : xmin
                    334: xmax = ceil(mu + 4.0 * sigma)
                    335: xinc = ceil((xmax - xmin) / 10)
                    336: xinc = xinc > 1 ? xinc : 1
                    337: ymax = 1.1 * poisson(mu) #mode of poisson PDF used
                    338: set key
                    339: set nozeroaxis
                    340: set xrange [xmin - 1 : xmax + 1]
                    341: set yrange [0 : ymax]
                    342: set xlabel "k, x ->"
                    343: set ylabel "probability density ->"
                    344: set xtics xmin, xinc, xmax
                    345: set ytics 0, ymax / 10.0, ymax
                    346: set format x "%2.0f"
                    347: set format y "%3.2f"
                    348: set sample 200
                    349: set title "poisson PDF using normal approximation"
                    350: set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead
                    351: set arrow from mu + 0.5, normal(mu + sigma) \
                    352:           to mu + 0.5 + sigma, normal(mu + sigma) nohead
                    353: set label "mu" at mu + 1, ymax / 10
                    354: set label "sigma" at mu + 1 + sigma, normal(mu + sigma)
                    355: plot poisson(x), normal(x - 0.5)
                    356: set noarrow
                    357: set nolabel

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