MATLAB While and for loops in MATLAB

I want to generate a Poisson distributed vector of random numbers, without any of the numbers being 0. The code I have is

k = poissrnd(kmean,1,N);
% where kmean is the mean of the distribution, and has been defined previously
%The above generates a N by 1 vector of Poisson distributed random numbers, with mean and variance kmean. N has also been defined previously.
%poissrnd is a command in newer versions of MATLAB

for i = 1:N
while k(i) == 0
k = poissrnd(kmean,1,N);
end
end

So basically if the vector of random numbers contains a 0, I want to redraw the vector.
The code doesn't work, and I can't seem to make it work. Can someone please give me some advice?

Thanks a lot!!
 

Want to reply to this thread?

"While and for loops in MATLAB" You must log in or register to reply here.

Physics Forums Values

We Value Quality
• Topics based on mainstream science
• Proper English grammar and spelling
We Value Civility
• Positive and compassionate attitudes
• Patience while debating
We Value Productivity
• Disciplined to remain on-topic
• Recognition of own weaknesses
• Solo and co-op problem solving
Top