How can I truncate a random generated exponentail distribution?
Show older comments
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
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)
1 Comment
Carolina Scandellari
on 5 Nov 2019
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;
1 Comment
Carolina Scandellari
on 5 Nov 2019
Star Strider
on 5 Nov 2019
0 votes
2 Comments
Carolina Scandellari
on 5 Nov 2019
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.
Categories
Find more on Univariate Discrete Distributions in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!