{VERSION 3 0 "IBM INTEL LINUX" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 } {PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 3 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading 1" 0 3 1 {CSTYLE "" -1 -1 "" 1 18 0 0 0 0 0 1 0 0 0 0 0 0 0 }1 0 0 0 8 4 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading 2" 3 4 1 {CSTYLE "" -1 -1 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 } 0 0 0 -1 8 2 0 0 0 0 0 0 -1 0 }{PSTYLE "" 2 6 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 2 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Plot" 0 13 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 3 256 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 4 257 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 4 258 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 4 259 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 256 "" 0 "" {TEXT -1 52 "Lotka-Volterra type mode l of interacting populations" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/-%\"N G6#,&%\"tG\"\"\"F)F)*&-F%6#F(\"\"\"-%$expG6#,(%#b1GF)*&%$a11GF)F+F)!\" \"*&%$a12GF)-%\"MGF,F)F5F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/-%\"MG6 #,&%\"tG\"\"\"F)F)*&-F%6#F(\"\"\"-%$expG6#,(%#b2GF)*&%$a21GF)-%\"NGF,F )!\"\"*&%$a22GF)F+F)F7F)" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 24 "First, load two packages" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "with(linalg):with(plot s):" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 35 "Specify the parameters of the model" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "a11:=1;" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "a12:=0.2;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "a21:=0.7;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "a22:=1; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "b1:=2.1;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 6 "b2:=5;" }}}{EXCHG {PARA 258 "" 0 "" {TEXT -1 0 "" }} {PARA 257 "" 0 "" {TEXT -1 21 "Analysis of the model" }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "###Characteristics of the first population" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "lprint(`\\nFirst population:`);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "if (b1>0) then" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 18 " if (a11>0) then" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 52 " if (b1<2) then Stab:=`, asymptoticaly stable.`" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 67 " elif (b1>2) then Stab:=`, uns table.` else Stab:=`.`" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 9 " fi: " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 101 " lprint(` Producer with intraspecific competition; carryin cappacity =`, evalf(b1/a11),Stab )" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 " elif (a11<0) then" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 63 " lprint(` Producer with intrasp ecific mutualism.`) " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " el se lprint(` Producer.`) fi" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "fi; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "if (b1<=0) then" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 18 " if (a11>0) then" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 59 " lprint(` Consumer with intraspecific competit ion.`)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 " elif (a11<0) then" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 63 " lprint(` Consumer with i ntraspecific mutualism.`) " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " \+ else lprint(` Consumer.`) fi" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "fi;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "###Characteristics of the second population" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "lprint(`\\nSecond population:`);" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "if (b2>0) then" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 18 " if (a22>0) then" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 52 " if (b2<2) then Stab:=`, asymptoticaly stable.`" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 67 " elif (b2>2) then Stab:=`, u nstable.` else Stab:=`.`" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 9 " fi :" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 101 " lprint(` Producer wit h intraspecific competition; carryin cappacity =`, evalf(b2/a22),Sta b)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 " elif (a22<0) then" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 63 " lprint(` Producer with i ntraspecific mutualism.`) " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " \+ else lprint(` Producer.`) fi" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "fi;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "if (b2<=0) then" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 18 " if (a22>0) then" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 59 " lprint(` Consumer with intraspecific competit ion.`)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 " elif (a22<0) then" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 63 " lprint(` Consumer with i ntraspecific mutualism.`) " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " \+ else lprint(` Consumer.`) fi" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "fi;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "### Characteris tic of interaction" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "if ((a12>0) a nd (a21>0)) then" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 44 " lprint(`\\nI nteraction: Competition.`) fi;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "i f ((a12<0) and (a21<0)) then" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 42 " \+ lprint(`\\nInteraction: Mutualism.`) fi;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "if (a12*a21<0) then" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 46 " lprint(`\\nInteraction: Predator-prey.`) fi;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "if ((a12*a21=0) and (a12+a21>0)) then" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 44 " lprint(`\\nInteraction: Ammensalism.`) fi;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "if ((a12*a21=0) and (a12+a2 1<0)) then" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 45 " lprint(`\\nInterac tion: Commensalism.`) fi;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "if (ab s(a12)+abs(a21)=0) then" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " lprin t(`\\nInteraction: None.`) fi;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "### Analysis of equilibria" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "lprint(`\\nEquilibria:`);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "Eq1:= [0,0]:Stab:=``:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "if ((b1>0) and ( b2>0)) then Stab:=`repulsive`" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 61 " \+ elif ((b1<0) and (b2<0)) then Stab:=`asymptoticaly stable`" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 39 " elif (b1*b2<0) then Stab:=`unstable`" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "fi:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "lprint(` `,evalf(Eq1),Stab);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "if ((b2>0) and (a22>0)) \+ then" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 27 " Eq2:=[0,b2/a22]:Stab:=``: " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 69 " lambda1:=evalf(exp((b1*a22-b2 *a12)/a22)):lambda2:=evalf(abs(1-b2)):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 63 " if (max(lambda1,lambda2)<1) then Stab:=`asymptoticaly stable `" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 56 " elif(min(lambda1,lambda2) >1) then Stab:=`repulsive`" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 55 " \+ elif(max(lambda1,lambda2)>1) then Stab:=`unstable`" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 5 " fi:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 31 " lprint (` `,evalf(Eq2),Stab)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 " else Eq 2:=[0,0]" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "fi:" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "if ((b1>0) an d (a11>0)) then" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 27 " Eq3:=[b1/a11,0 ]:Stab:=``:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 69 " lambda1:=evalf(exp ((b2*a11-b1*a21)/a11)):lambda2:=evalf(abs(1-b1)):" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 63 " if (max(lambda1,lambda2)<1) then Stab:=`asymptoti caly stable`" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 56 " elif(min(lambd a1,lambda2)>1) then Stab:=`repulsive`" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 55 " elif(max(lambda1,lambda2)>1) then Stab:=`unstable`" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 " fi:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 31 " lprint(` `,evalf(Eq3),Stab)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 " else Eq3:=[0,0]" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "fi:" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "if (a11*a22-a12*a21<>0) then" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 77 " Eq4:=[(b1*a22-b2*a12)/(a11*a22-a12*a21),(b2*a11-b1*a21)/(a11*a22-a 12*a21)]" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 18 " else Eq4:=[0,0]" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "fi:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "IntEquil:=((Eq4[1]>0) and (Eq4[2]>0)):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "if (IntEquil) then" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 78 " Stab:=``:A:=array([[1-a11*Eq4[1],-a12*Eq4[1]],[-a21*Eq4[2],1-a2 2*Eq4[2]]]):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 33 " lambda:=[evalf(e igenvals(A))]:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 27 " lambda1:=abs(l ambda[1]):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 77 " if (nops(lambda)>1 ) then lambda2:=abs(lambda[2]) else lambda2:=lambda1 fi:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 64 " if (max(lambda1,lambda2)<1) then Stab:=`as ymptoticaly stable`" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 56 " elif(mi n(lambda1,lambda2)>1) then Stab:=`repulsive`" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 55 " elif(max(lambda1,lambda2)>1) then Stab:=`unstabl e`" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 5 " fi:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 31 " lprint(` `,evalf(Eq4),Stab)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "fi:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 41 "### Check of dissipativity and permanence" } }{PARA 0 "> " 0 "" {MPLTEXT 1 0 151 "Dissip:=((a11>0) and (a22>0) and \+ (max(a12,a21)>0)) or ((a11>0) and (a12>0) and (a21<0) and (a22<=0)) or ((a22>0) and (a21>0) and (a12<0) and (a11<=0)):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "Perm:=Dissip and IntEquil and (a11*a22-a12*a21>0):" } }{PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "if Perm then" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 39 " lprint(`\\nThe system is permanent.`)" }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 19 " elif Dissip then" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 67 " lprint(`\\nThe system is dissipative but it is n ot permanent.`)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "fi;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "### Plo t phase portrait" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "if (a21<>0) the n h:=b2/a21 else h:=0 fi:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 59 "Nmax:= 1.1*max(Eq3[1],Eq4[1],h):if (Nmax=0) then Nmax:=1 fi:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "if (a12<>0) then h:=b1/a12 else h:=0 fi:" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 59 "Mmax:=1.1*max(Eq2[2],Eq4[2],h):if ( Mmax=0) then Mmax:=1 fi:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "if (a12 <>0) then" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 76 " p1:=plot((b1-a11*x)/a 12,x=0..Nmax,view=0..Mmax,labels=[`N`,`M`],color=red):" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 20 " elif (a11<>0) then" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 78 " p1:=implicitplot(x=b1/a11,x=0..Nmax,view=0..Mmax,la bels=[`N`,`M`],color=red)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 71 " el se p1:=plot(-1,x=0..Nmax,view=0..Mmax,labels=[`N`,`M`],color=red)" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "fi:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "if (a22<>0) then " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 48 " p2:=p lot((b2-a21*x)/a22,x=0..Nmax,color=blue)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 21 " elif (a21<>0) then" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 67 " p2:=implicitplot(x=b2/a21,x=0..Nmax,view=0..Mmax,color= blue)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "fi:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 81 "p3:=pointplot([[0,0],Eq2,Eq3,Eq4],color=black,symbol= BOX,title=`Phase portrait`):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "P:= [p1,p2,p3]:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "if ((b1>2) and (a11> 0)) then" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 53 " H:=evalf(exp(b1-1)/a 11):h:=evalf(H*exp(b1-a11*H)):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 65 " \+ p4:=pointplot([[h,0],[H,0]],style=line,color=red,thickness=2):" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 " P:=[op(P),p4]" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "fi:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "if ((b2>2 ) and (a22>0)) then" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 53 " H:=evalf( exp(b2-1)/a22):h:=evalf(H*exp(b2-a22*H)):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 66 " p5:=pointplot([[0,h],[0,H]],style=line,color=blue, thickness=3):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 " P:=[op(P),p5]" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "fi:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "display(P);" }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 61 "unassign('h','H','Nmax','Mmax','P','p1','p2' ,'p3','p4','p5'):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 259 "" 0 "" {TEXT -1 29 "Plot of a simulated evolution" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 67 "Specify the length of simulation tmax and/or initial values N0, M0." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "tmax:=50:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "N0:=1. 27906:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "M0:=4.10465:" }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "tmaxP:= 0:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "N:=array(0..tmax):N[0]:=N0:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "M:=array(0..tmax):M[0]:=M0:" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 67 " for i from 0 while ((i " 0 "" {MPLTEXT 1 0 49 " N[i+1]:=evalf(N[i]*exp(b1-a11*N[i]-a12*M[i])):" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 49 " M[i+1]:=evalf(M[i]*exp(b2-a21*N[i]-a22*M[i])):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 58 " if ((N[i+1]>=1e20) or (M[i+1]> =1e20)) then tmaxP:=i fi:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 6 " od: " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "if (tmaxP>0) then tmax:=tmaxP f i:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "if (tmaxP>0) then" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 91 " lprint(`\\nWarning: At least one of the \+ populations is unbounded. Simulation aborted.\\n`)" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 6 " fi;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "Nmax:=m ax(N[t]$t=0..tmax):Mmax:=max(M[t]$t=0..tmax):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 59 "for i from 0 to tmax do N[i]:=N[i]/Nmax:M[i]:=M[i]/Mm ax od:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 166 "p1:=pointplot([[t,N[t]]$ t=0..tmax],style=point,symbol=circle,color=red,labels=[`t`,``],ytickma rks=0,view=0..1,title=`Simulated evolution of interacting populations` ):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 57 "p2:=pointplot([[t,N[t]]$t=0.. tmax],style=line,color=red):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 73 "p3: =pointplot([[t,M[t]]$t=0..tmax],style=point,symbol=circle,color=blue): " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 58 "p4:=pointplot([[t,M[t]]$t=0..tm ax],style=line,color=blue):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 61 "p5:= textplot([-tmax/100,0.5,`N, M `],color=black,align=LEFT):" }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 24 "display(p1,p2,p3,p4,p5);" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 83 "lprint(`\\nRed: the first population (N). Scale o n the vertical axis: 0 ..`,Nmax);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 81 "lprint(`Blue: the second population (M). Scale on the vertical axi s: 0 ..`,Mmax);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 57 "unassign('N','M' ,'Nmax','Mmax','p1','p2','p3','p4','p5'):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 13 "" 1 "" {INLPLOT "6+-%'POINTSG6X7$\"\"!$ \"+#)p/EV!#57$$\"\"\"F'$\"+W-4EVF*7$$\"\"#F'$\"+f(\\gK%F*7$$\"\"$F'$\" +j5=EVF*7$$\"\"%F'$\"+*3UdK%F*7$$\"\"&F'$\"+D-@FVF*7$$\"\"'F'$\"++0IAV F*7$$\"\"(F'$\"+(fC(QVF*7$$\"\")F'$\"+\\&RQG%F*7$$\"\"*F'$\"+dD&yY%F*7 $$\"#5F'$\"+V*>!fQF*7$$\"#6F'$\"+L-05fF*7$$\"#7F'$\"+P.M]q!#67$$\"#8F' $\"+S_+sYF*7$$\"#9F'$\"+>o`]!*F*7$$\"#:F'$\"+I*)=sWFao7$$\"#;F'$\"+%*z z)>$F*7$$\"#F'$\"+!>_wu#F*7 $$\"#?F'$\"+/a0w'*F*7$$\"#@F'$\"+1Y^\"f&Fao7$$\"#AF'$\"+W%fc'QF*7$$\"# BF'$\"+fP.&e)F*7$$\"#CF'$\"+Qcn3Y!#77$$\"#DF'$\"+%)ze7PFao7$$\"#EF'$\" +hSe;FF*7$$\"#FF'$\"+\\$f^$**F*7$$\"#GF'$\"+fx&[E%F*7$$\"#HF'$\"+z4O+& )F*7$$\"#IF'$\"+Q$3@H(F^s7$$\"#JF'$\"+0b%y#eFao7$$\"#KF'$\"++l\"e+%F*7 $$\"#LF'$\"+++++5!\"*7$$\"#MF'$\"+D.fOSF*7$$\"#NF'$\"+\">m,z%F*7$$\"#O F'$\"+Yp6lGF*7$$\"#PF'$\"+>8B+&)F*7$$\"#QF'$\"+m))[*[\"F^s7$$\"#RF'$\" +^q*4@\"Fao7$$\"#SF'$\"+\"G*QT&*Fao7$$\"#TF'$\"+OIUweF*7$$\"#UF'$\"+*z 0RW)F*7$$\"#VF'$\"+I8smcF*7$$\"#WF'$\"+0)Re<)F*7$$\"#XF'$\"+$z]P6)Fao7 $$\"#YF'$\"+U*p#*>&F*7$$\"#ZF'$\"+J^VXmF*7$$\"#[F'$\"+b#fv%GFao7$$\"# \\F'$\"+>IeP@F*7$$\"#]F'$\"+:@Xm#*F*-%'COLOURG6&%$RGBG$\"*++++\"!\")F' F'-%'SYMBOLG6#%'CIRCLEG-%&STYLEG6#%&POINTG-%'CURVESG6%7UF&F+F0F5F:F?FD FIFNFSFXFgnF\\oFboFgoF\\pFapFfpF[qF`qFeqFjqF_rFdrFirF_sFdsFisF^tFctFht F]uFbuFguF]vFbvFgvF\\wFawFfwF[xF`xFexFjxF_yFdyFiyF^zFczFhzF][lFb[l-F^ \\l6#%%LINEG-F$6X7$F'$\"+W^_$Q\"F*7$F,$\"+7i`$Q\"F*7$F1$\"+i%*[$Q\"F*7 $F6$\"+-ik$Q\"F*7$F;$\"+K?7$Q\"F*7$F@$\"+Qc([Q\"F*7$FE$\"+=q,z8F*7$FJ$ \"+#=!o)R\"F*7$FO$\"+.ApL8F*7$FT$\"+f9xf:F*7$FY$\"+'Re!z*)Fao7$Fhn$\"+ ]e]xTF*7$F]o$\"+[F@hv!#97$Fco$\"+aA]w'*F^s7$Fho$\"+#)*>!)4%F*7$F]p$\"+ W3)!#>7$F`s$\"+0UW)=\"!#;7$Fes$\"+G3NL;Fa_l7$F js$\"+Si!4Q\"F^s7$F_t$\"+]'3n^#Fao7$Fdt$\"+Wc2BtF*7$Fit$\"+)e%*R'o!#=7 $F^u$\"+\")yW.5!#:7$Fcu$\"+:@**>8F]al7$Fhu$\"+mr&p^)F^s7$F^v$\"+A%3$R7 F*7$Fcv$\"+/UX=?F*7$Fhv$\"+nU`(y#Fao7$F]wFju7$Fbw$\"+&olCL$!#@7$Fgw$\" +uWfI\\Fgal7$F\\x$\"+^Y_Or!#<7$Fax$\"+-q`$p)F_cl7$Ffx$\"+B#=E#QF]al7$F [y$\"+ae%4x*F^s7$F`y$\"+tGmeLF*7$Fey$\"+7u_ " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "0 0 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 }