*********************************************** * GENERATING RANDOM NUMBERS FROM A * * TRIANGULAR DISTRIBUTION * * * * DSN = RANTRI.SAS * * * ***********************************************; DATA NEW; SEED = 4567; A = 2; B = 6; M = 3; DO I = 1 TO 1000; r = RANUNI(SEED); IF r GE 0 AND R LT 0.25 THEN X1 = 2 + 2*SQRT(r); IF r GE 0.25 AND R LE 1.0 THEN X1 = 6 - 2*SQRT(3-3*R); IF r GE 0 AND R LT 0.25 THEN X2 = A + SQRT(R*(B-A)*(M-A)); IF r GE 0.25 AND R LE 1.0 THEN X2 = B - SQRT((1-R)*(B-A)*(B-M)); X3 = (B-A) * RANTRI(SEED,(M-A)/(B-A)) + A; OUTPUT; END; PROC PRINT; VAR SEED A B M r X1 X2 X3; PROC MEANS; VAR SEED A B M r X1 X2 X3; RUN;