Lotka-Volterra Systems with Linear Population Growth

Definition of Vector Field Components

f[x_,y_]:=rx*x+ax*x*y;
g[x_,y_]:=ry*y+ay*x*y;

Plot of Vector Field with Nullclines

Setting Parameters

rx=1;
ax=-2;
ry=3;
ay=-3;
ub=2;

Plotting Nullclines

plot1=ContourPlot[f[x,y]==0,{x,-.1,ub},{y,-.1,ub},ContourStyle->{Thick,Red},PlotRange->{{-.01,ub},{-.01,ub}},PlotPoints->100,FrameLabel->{"x","y"},LabelStyle->Directive[Black, Large]]

plot2=ContourPlot[g[x,y]==0,{x,-.1,ub},{y,-.1,ub},ContourStyle->{Thick,Blue},PlotRange->{{-.01,ub},{-.01,ub}},PlotPoints->100,FrameLabel->{"x","y"},LabelStyle->Directive[Black, Large]]

Plotting Phase Portrait

plot3=StreamPlot[{f[x,y],g[x,y]},{x,-.1,ub},{y,-.1,ub},PlotRange->{{-.01,ub},{-.01,ub}},AxesLabel->{"x","y"},LabelStyle->Directive[Black, Large]]

Plotting Level Sets of First Integral

L[x_,y_]:=rx*Log[y]+ax*y-ry*Log[x]-ay*x;

plot4=ContourPlot[L[x,y],{x,-.1,ub},{y,-.1,ub},ContourStyle->{Thick,Blue},PlotRange->{{-.01,ub},{-.01,ub}},FrameLabel->{"x","y"},LabelStyle->Directive[Black, Large],Contours->20]

Plotting Everything

Show[plot4,plot3,plot1,plot2]