# Random variable from truncated gumbel distribution

User ForumRandom variable from truncated gumbel distribution

Hi there. What would be the easiest way to generate random variables following Truncated Gumbel Distribution in Gauss? For example, gumbel distribution with upper bound.

Thanks.

Huihui

Below is a function that calculates the inverse truncated Gumbel distribution.

```proc (1) = cdfGumbelTruncInv(p, a, b);
local tmp, x, index, size;
tmp = exp(-exp(b./a));
x = -a .* ln(-ln((1-tmp) .* p + tmp)) + b;

//check for p == 1
index = indexcat(p, (1-__macheps)|__infp);
if not scalmiss(index);
if rows(p) == 1;
size = maxc(rows(a)|rows(b));
retp(reshape(__infp, size, 1));
endif;
x[index] = __infp;
endif;
//check for p == 0
index = indexcat(p, __infn|(0+__macheps));
if not scalmiss(index);
if rows(p) == 1;
size = maxc(rows(a)|rows(b));
retp(zeros(size, 1));
endif;
x[index] = 0;
endif;
retp(x);
endp;
```

By passing uniform random numbers into this function you should get random numbers with the truncated Gumbel distribution.

```r = rndu(100, 1);
r_gumbel = cdfGumbelTruncInv(r, 1, 1);
```

• ### Aptech Systems, Inc. Worldwide Headquarters

Aptech Systems, Inc.
2350 East Germann Road, Suite #21
Chandler, AZ 85286

Phone: 360.886.7100
FAX: 360.886.8922

• ### Training & Events

Want more guidance while learning about the full functionality of GAUSS and its capabilities? Get in touch for in-person training or browse additional references below.

• ### Tutorials

Step-by-step, informative lessons for those who want to dive into GAUSS and achieve their goals, fast.

• ### Have a Specific Question?

Get a real answer from a real person

• Need Support?
• ### Support Plans

Premier Support and Platinum Premier Support are annually renewable membership programs that provide you with important benefits including technical support, product maintenance, and substantial cost-saving features for your GAUSS System or the GAUSS Engine.

• ### User Forums

Join our community to see why our users are considered some of the most active and helpful in the industry!