function [simrw,rwprob]=gen_rws(truepar,decline_level,rw_type,reps,simlen)
%rw_type = 1 CRW
%rw_type = 2 RW; all process error
%rw_type = 3 all non-process error
%simlen = number of time points
%reps = number of reps
%Declare output vector
cda=[ones(reps,1)];
da=[ones(reps,1)];
cor=[ones(reps,1)];
mu = truepar(1);
sig2 = truepar(2);
sig2np = truepar(3);
simlen=simlen-1; %need to do this so that routine returns data of length simlen
%seed random number generator
randn('state',sum(100*clock));
%generate time series
switch rw_type;
case 1
var_p =randn(reps,simlen+1)*sqrt(sig2);
var_np =randn(reps,simlen+1)*sqrt(sig2np);
simrw =cumprod(exp(mu+var_p)')'; %this does the whole sim without walking through t's
simrw = simrw .* exp(var_np); %add the corruption
case 2
var_pure_p =randn(reps,simlen+1)*sqrt(truepar(4));
simrw =cumprod(exp(mu+var_pure_p)')';
case 3
var_pure_np =randn(reps,simlen+1)*sqrt(truepar(5));
simrw = exp(var_pure_np); %only corruption
end
%prob at end of t
rwprob.atend = sum(simrw(:,2:end)<(decline_level*simrw(:,1)*ones(1,simlen)),1)/reps;
%prob within t
tmp=cumsum(simrw(:,2:end)<(decline_level*simrw(:,1)*ones(1,simlen)),2);
rwprob.within=sum(tmp>0,1)/reps;