Hello,

I am trying to generate a stochastic run of 100 simulations and plot the result of each simulation in a histogram. Thus far, I have everything correct except that I can only get 1 simulation each time in my histogram.

Here is my code. Any suggestions for getting all 100 values in it?

n=100; % number of generations to run
x=zeros(1,n+1); %Vector to keep track of time/given generation for potential fixation
t=0:n; % time indices
allele=.5; % Initial frequency of focal alleles
Nlow=2; %Low population size
Nhigh=10; %High population size
mu=[2,10];%Initial distribution
histo2e=zeros(1,n+1);
%2 state Markov Chain; Nlow_pop_size to Nhigh_pop_size
P=[[.2,.8];[.4,.6]];



x(1)=rando(mu);
% generate first x value (time 0, not time 1)


for
i=1:n %Cycle through 100 generations

%Generate value based on transition probability Matrix

x(i+1) = rando(P(x(i),);

gencount=zeros(1,n);
N=x(i+1);
%Variable to keep track of varying population size for each simulation


%Initialize frequency of focal allele to 0.5
init=1;
thestate=init;
%Initial state begins at 0.5
m=0; %Keep track number of times given state is reached
maxgen=100; % Random cutoff for W-F simulation
traj=zeros(1,maxgen);%A useful vector


while (m < maxgen && thestate > 0 && thestate < 2*N)
m=m+1;
%Bump counter
%Sample from binomial scheme W-F here
thestate=binornd(2*N,thestate/(2*N));
traj(m) = thestate;

if ((thestate==0 || thestate==2*N) && m < maxgen) % fixation has occured: fill the rest of traj with the appropriate value
traj((m+1):maxgen) = repmat(thestate,1,maxgen-m);

end; %if

end;%while


twin=max(m);

gencount(i)=twin;




continue;


end



hist(gencount(i)); My 100 generated values here!