Syntax Error: Unknown Function

Hi, for the following code:
n = 50000;
g = 0.3;
x = [];
for i=1:n
k = 0;
while unifrnd(0,1) < g
k = k + 1;
end
b = 0;
mynumber = 2;
for j = 1:k
switch mynumber
case 1
v = random(beta,3,3)
case 2
v = random(gam,5,5)
case 3
v = random(exp,3)
case 4
v = random(geo,0.2)
case 5
v = random(unif,0,5)
case 6
v = random(norm,0,1)
end
b = b + v;
end
if b ~= 0
x = [x, b];
end
end
I get the following error: Undefined function or variable 'gam'.
Error in test (line 21) v = random(gam,5,5)
why is that? Thanks

 Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 29 Mag 2013

0 voti

You can tell us what is the value of gam?

5 Commenti

MiauMiau
MiauMiau il 29 Mag 2013
gam(5,5) should be a gamma random variable with shape and scale parameters equal to 5. So I always add one sort of random variable to b.
Maybe you should use 'gam' instead of gam
Azzi Abdelmalek
Azzi Abdelmalek il 29 Mag 2013
Modificato: Azzi Abdelmalek il 29 Mag 2013
You can't use
v = random(beta,3,3) % you missed ' '
it should be
v = random('beta',3,3)
The same remark for the other options gam, geo,norm,...
MiauMiau
MiauMiau il 29 Mag 2013
ah..so that's it. I will try it
MiauMiau
MiauMiau il 29 Mag 2013
works, thanks!

Accedi per commentare.

Più risposte (1)

Muruganandham Subramanian
Muruganandham Subramanian il 29 Mag 2013

0 voti

3 Commenti

MiauMiau
MiauMiau il 29 Mag 2013
The path is set, so it is not a problem with the path but it must be some syntax error
see, You hav to declare the variable 'gam' and others as global or local, then only you can call it..
MiauMiau
MiauMiau il 29 Mag 2013
But "gam" is just an already defined distribution in matlab...as "normrnd(.." since when has this decleration to be done? And where do I have to do it?

Accedi per commentare.

Categorie

Scopri di più su Psychology in Centro assistenza e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by