Syntax error to generate Log Normal Variables

I would like to generate 2x4 matrix of values which are log normally distributed
with mu= 1.175 and sigma = 0.0768 .. However when I write the following command
A= lognrnd(1.175,0.0768,2,4);
It appears the ouput error as follows:
??? Undefined function or method 'lognrnd' for input arguments of type 'double'.
Can any person please help me to resolve the issue ?

2 Comments

It is a Statistics Toolbox function.
Type:
which lognrnd -all
on the Command Line to see if it exists on your system, and to be sure there is only one function with that name.
Thanks Star ... I have checked and it says that I dont have licence avaliable ...
Is there Any alternate way to generate log normal random values???

Sign in to comment.

 Accepted Answer

Matt Fig
Matt Fig on 13 Sep 2012
Edited: Matt Fig on 13 Sep 2012
Use this instead:
A = exp(randn(2,4).*0.0768+1.175)
Or make a little function:
Lognrand = @(S,mu,sig) exp(randn(S).*sig+mu);
A = Lognrand([2,4],1.175,0.0768);
To check:
m = 5/3;
v = 7/5;
mu = log((m^2)/sqrt(v+m^2));
sigma = sqrt(log(v/(m^2)+1));
A = Lognrand([1,1e7],mu,sigma);
abs(mean(A)-m)/m % Should be pretty small
abs(var(A)-v)/v

2 Comments

What S stand here ??
Like I show, S is the size. So S=[2,4] means you will get a 2-by-4 array.

Sign in to comment.

More Answers (0)

Categories

Products

Asked:

on 12 Sep 2012

Community Treasure Hunt

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

Start Hunting!