%
% rickweb.m - this MATLAB file solves the 
% discrete Ricker equation x(i+1)=a*x(i)*exp(-b*x(i))
% and illustrates cobwebbing analysis
% The user is prompted to read in the value
% of a and b to use as well as the initial value
% x0 which must be > 0
% and the time interval over which to run the 
% simulation.
!c:
s=1;
while s>0;
a=input('input parameter a:    ')
b=input('input parameter b:    ')
x0=input('input initial population x0:     ')
n=input('end of time interval n:     ')
x=zeros(n+1,1);
t=zeros(n+1,1);
x(1)=x0;
tt(1)=0;
for i=1:n
t(i)=i-1;
x(i+1)=a*x(i)*exp(-b*x(i));
end
t(n+1)=n;
nn=100;
del=5./(b*nn);
xstart=0;
yy=zeros(nn+1,1);
lin=zeros(nn+1,1);
xx=zeros(nn+1,1);
for i=1:nn+1
xx(i)=xstart+(i-1)*del;
lin(i)=xx(i);
yy(i)=a*xx(i)*exp(-b*xx(i));
end
plot(xx,lin,xx,yy),pause
xc=zeros(24,1);
yc=zeros(24,1);
xc(1)=x0;
yc(1)=0;
xc(2)=x0;
yc(2)=a*x0*exp(-b*x0);
yc(3)=yc(2);
xc(3)=yc(2);
plot(xx,lin,xx,yy,xc,yc),pause
for j=4:12;
jj=2*j-4;
xc(jj)=xc(jj-1);
yc(jj)=a*xc(jj)*exp(-b*xc(jj));
xc(jj+1)=yc(jj);
yc(jj+1)=yc(jj);
plot(xx,lin,xx,yy,xc,yc),pause
end
plot(t,x,t,x,'o'),pause
s=input('Do you want to stop - if so enter 0')
end

