Question: Error, recursive assignment

Dear Brothers and Sisters,

I faced warnning while simulating the code below was running

restart;
with(plots);
beta := 0.143e-1; delta := 0.7e-1; PI := 2.5; mu := 0.16e-1; tau := .7; rho := 0.4e-3; epsilon := .15; sigma[2] := 0.2e-1; sigma[1] := 0.1e-3; eta := 0.1e-1;
a[1] := 2; a[2] := 5; w[1] := 10; w[2] := 50; w[3] := 20; T := 4;


u[1] := min(max(0, z), 1); z := beta*(1-u[3])*s(t)*(sigma[2]*e(t)+sigma[1]*i[t])*(lambda[2](t)-lambda[1](t))/w[1]; u[2] := min(max(0, c), 1); c := (lambda[2](t)*e(t)+beta*i(t)+lambda[4](t)*((1-tau)*delta*e(t)+epsilon*i(t))+lambda[3](t)*(delta*tau*e(t)+epsilon*i(t)))/w[2]+lambda[2](t)*e(t)/w[2]; u[3] := min(max(0, e), 1); e := (beta*(1-u[1])*s(t)*sigma[2]*e(t)+sigma[1]*i[t])/w[3];
Error, recursive assignment

sys := diff(s(t), t) = PI+eta*r(t)-((1-u[1])*(1-u[1]))*beta*(sigma[1]*i(t)+sigma[2]*e(t))*s(t)-mu*s(t), diff(e(t), t) = (((1-u[1])*(1-u[1]))*beta*beta)*(sigma[1]*i(t)+sigma[2]*e(t))*s(t)-(u[2]+u[3]+delta+mu)*e(t), diff(i(t), t) = (1-u[2])*tau*delta*e(t)-(u[2]+u[3]+epsilon+rho+mu)*i(t), diff(r(t), t) = (1-u[2])*(1-tau)*delta*e(t)+(1-u[2])*epsilon*i(t)-(mu+eta)*r(t), diff(lambda[1](t), t) = lambda[1]*((1-u[3])*(1-u[1])*beta*(e*sigma[2]+i*sigma[1])-mu)-lambda[2]*(1-u[3])*(1-u[1])*beta*(e*sigma[2]+i*sigma[1]), diff(lambda[2](t), t) = -a[1]+lambda[1]*((1-u[3])*(1-u[1])*beta*sigma[2]*s-lambda[2]*(1-u[3])*(1-u[1])*beta*sigma[2]*s-u[2]-u[3]-delta-mu)-lambda[3]*(1-u[2])*tau*delta-lambda[4]*(1-u[2])*(1-tau)*delta, diff(lambda[3](t), t) = -a[2]+lambda[1]*(1-u[3])*(1-u[1])*beta*sigma[1]*s-lambda[2]*(1-u[3])*(1-u[1])*beta*sigma[1]*s+lambda[3]*(u[2]+u[3]+epsilon+rho+mu)-lambda[4]*(1-u[2])*epsilon, diff(lambda[4](t), t) = -lambda[1]*eta+lambda[4]*(mu+eta), s(0) = 1000000, e(0) = 1000, i(0) = 89, r(0) = 16, lambda[1](T) = 0, lambda[2](T) = 0, lambda[3](T) = 0, lambda[4](T) = 0;
p1 := dsolve({sys}, type = numeric, method = bvp[midrich], abserr = .1);
Error, (in dsolve/numeric/bvp/convertsys) e(t) and e cannot both appear in the given ODE
p2o := odeplot(p1, [t, i(t)], 0 .. 2, numpoints = 100, labels = ["Time (months)", "i"], labeldirections = [horizontal, vertical], style = line, color = red, axes = boxed);
Error, (in plots/odeplot) input is not a valid dsolve/numeric solution
plots[display](p2o);

 

May I get your help please? Thank you in advance. Lokking forward...

Please Wait...