How can I truncate a random generated exponentail distribution?

1 view (last 30 days)
Hi, I'm trying to truncate an exponential distribution generated with the random function:
for mu_curr=1:100;
mu_exp=linspace(0.002,1,100);
x=1:desired_length;
mu_curr_exp=mu_exp(curr_distr);
%% generating ISI
ISI_exp=((random('Exponential',mu_curr_exp,length(x),1)));
%% concatenating in a matrix
Y_EXP(curr_distr,1:length(x))=ISI_exp';
end
I am using this loop because I have to change the mu value 100 times. I have to truncate this so number don't go below 1e-6 and above 0.2. Do you have any ideas? I tried to use the distribution object but I don't know how to use it to perform calculations on the results. Thank you,
Carolina

Answers (3)

JESUS DAVID ARIZA ROYETH
JESUS DAVID ARIZA ROYETH on 5 Nov 2019
I leave you an idea that can be useful, in R numbers are generated with an exponential distribution in the range you want :
n=20;%amount of values to generate
mu=0.1;%mu
R = mapminmax(exprnd(mu,1,n),1e-6,0.2)

KALYAN ACHARJYA
KALYAN ACHARJYA on 5 Nov 2019
Edited: KALYAN ACHARJYA on 5 Nov 2019
I have to truncate this so number don't go below 1e-6 and above 0.2. Do you have any ideas?
Is this?
I am expecting the number is Y_EXP, if else, please replace Y_EXP with respective number.
Y_EXP(Y_EXP<1e-6 | Y_EXP>0.2)=0;

Star Strider
Star Strider on 5 Nov 2019
Use the truncate function (introduced in R2013a).
See the documentation section on pd to use it with different distributions.
  2 Comments
Carolina Scandellari
Carolina Scandellari on 5 Nov 2019
Yes you can use truncate but you will create an object, and I can't perform any calculations on objects. Thank you anyway
Star Strider
Star Strider on 5 Nov 2019
My pleasure.
However, I disagree!
pd = makedist('Normal')
t = truncate(pd,0,inf)
y = pdf(t, (0:5:10))
produces:
y =
0.797884560802865 2.9734390294686e-06 1.53891972534128e-22
What ‘calculations’ do you want to perform with it?
See: Working with Probability Distributions and specifically Probability Distribution Objects for an extended discussion of their capabilities.

Sign in to comment.

Products


Release

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!