home *** CD-ROM | disk | FTP | other *** search
- .MCD 20000 0
- .CMD PLOTFORMAT logs=0,0 subdivs=1,1 size=5,15 type=l
- .CMD FORMAT rd=d ct=10 im=i et=3 zt=15 pr=3 mass length time charge
- .CMD SET ORIGIN 0
- .CMD SET TOL 0.001000
- .CMD MARGIN 0
- .CMD LINELENGTH 78
- .CMD SET PRNCOLWIDTH 8
- .CMD SET PRNPRECISION 4
- .TXT 0 43 1 39
- a1,38,49,37
- Copyright (c) 1988 by MathSoft, Inc.
- .TXT 1 38 1 42
- a1,41,78,40
- /EQUATIONS TO GENERATE UNIFORM DEVIATES
- .TXT 1 -61 1 41
- a1,40,78,39
- UNIFORMLY DISTRIBUTED RANDOM DEVIATES
- .TXT 2 -19 3 80
- a3,79,77,200
- This document generates a vector of uniformly distributed random deviates on
- the interval [A,B]. These numbers are then plotted as a histogram together
- with a plot of the uniform density on [A,B].
- .TXT 1 79 2 79
- a2,78,78,147
- Define a function to generate uniformly distributed random variables on the
- interval [A,B] using uniformly distributed random variables on [0,1].
- .EQN 3 9 1 35
- UNIFORM(A,B)~(B-A)*rnd(1)+A
- .EQN 1 -89 1 14
- NRAND~1000
- .TXT 0 14 5 23
- a5,22,20,67
- <-- number of random
- deviates to be
- generated
-
- .TXT 1 66 1 51
- a1,50,78,49
- Create an array containing the uniform deviates.
- .EQN 1 -43 11 40
- T&0&D[J,U(X){1,1,9,30,bl}@RIGHT&LEFT&BINS[J,X
- .EQN 2 -37 1 10
- LEFT~2
- .TXT 0 13 2 19
- a2,18,20,34
- <-- select left
- endpoint
- .EQN 0 76 1 19
- K~0;NRAND-1
- .EQN 3 -89 1 11
- RIGHT~4
- .TXT 0 12 2 23
- a2,22,20,35
- <-- select right
- endpoint
- .EQN 0 76 2 26
- V[K~UNIFORM(LEFT,RIGHT)
- .EQN 3 -88 1 11
- NBIN~20
- .TXT 0 12 2 25
- a2,24,22,38
- <-- number of bins in
- histogram
- .EQN 0 115 3 18
- H~(RIGHT-LEFT)/NBIN
- .TXT 1 -46 1 46
- a1,45,78,44
- Establish the interval covered by each bin.
- .EQN 2 -37 1 12
- LEFT=?
- .EQN 0 22 1 13
- RIGHT=?
- .TXT 1 -66 1 15
- a1,14,77,13
- [Ctrl][PgDn]
- .TXT 0 81 1 15
- a1,14,78,13
- [Ctrl][PgDn]
- .TXT 2 -80 1 44
- a1,43,77,42
- The uniform deviates are in the vector V:
- .EQN 2 0 201 15
- V=?
- .TXT 0 79 1 39
- a1,38,78,37
- Create an array containing the bins.
- .EQN 2 19 1 14
- I~0;NBIN
- .EQN 2 0 2 20
- BINS[I~LEFT+I*H
- .TXT 3 -19 2 81
- a2,80,78,128
- Create an array containing the number of deviates falling within the intervals
- specified in the BINS array, then normalize it.
- .EQN 4 19 3 18
- D~hist(BINS,V)/(NRAND*H)
- .TXT 4 -17 1 15
- a1,14,78,13
- [Ctrl][PgDn]
- .TXT 3 -3 1 58
- a1,57,78,56
- Prepare an index variable for plotting the above array.
- .EQN 2 19 1 24
- J~0;last(BINS)-1
- .TXT 2 -19 1 62
- a1,61,78,60
- Move BINS array to center bars on the appropriate interval.
- .EQN 2 20 1 21
- BINS~BINS+0.5*H
- .EQN 3 0 3 38
- X~LEFT,LEFT+(RIGHT-LEFT)/2;RIGHT
- .EQN 3 0 3 52
- U(x)~-1/(LEFT-RIGHT)*Φ((x≤RIGHT)*(x≥LEFT)-.5)
- .TXT 4 -18 1 15
- a1,14,78,13
- [Ctrl][PgDn]
- .EQN 1 18 4 27
- T~1.1*max({2,1}÷1/(RIGHT-LEFT)÷max(D))
-