Background on the competition model

Consider two species, say sheep and cows, competing for limited food supplies. Denote the population of sheep by s and cows by c. In the absence of cows, the growth rate of sheep population is given by the logistic form (Subscript[r, s])(1-s/(Subscript[L, s])). When cows are present, the growth rate decreases by (Subscript[k, s])c. Thus the sheep population s satisfies

s'=s((Subscript[r, s])-((Subscript[r, s])/(Subscript[L, s]))s-(Subscript[k, s])c).

Similarly, the cow population c satisfies

c'=c((Subscript[r, c])-((Subscript[r, c])/(Subscript[L, c]))c-(Subscript[k, c])s).

Eqs. (--) is a 2D autonomous system. Below we plot the phase portrait for a particular set of parameters.

Phase portrait for {({{s'=s(2-s-c)}, {c'=c(3-c-2s)}})

Define the ODE right hand side function:

P[s_,c_]:=s(2-s-c);
Q[s_,c_]:=c(3-c-2s);

The vector (P(s,c),Q(s,c)) generally has different lengths depending on (s,c), which makes the vector field difficult to visualize. In drawing the phase portrait, though, only the direction of this vector matters, not the length. Thus, to ease visualization, we plot the rescaled vector field (P,Q)/(Sqrt[(P^2)+(Q^2)]):

VectorPlot[{P[x,y]/(Sqrt[((P[x,y])^2)+((Q[x,y])^2)]),Q[x,y]/(Sqrt[((P[x,y])^2)+((Q[x,y])^2)])},{x,0,2},{y,0,3},VectorPoints->Fine]

You should be able to draw by hand the vertical nullcline (defined by P(s,c)=0) and the horizontal nullcline (defined by Q(s,c)=0), and label the arrow directions on these nullclines. Subsequently, you can verify that your hand drawing agrees with the Mathematica output below, where these nullclines are respectively shown in red and green:

Show[VectorPlot[{P[x,y]/(Sqrt[((P[x,y])^2)+((Q[x,y])^2)]),Q[x,y]/(Sqrt[((P[x,y])^2)+((Q[x,y])^2)])},{x,0,2},{y,0,3},VectorPoints->Fine],
ContourPlot[P[x,y]==0,{x,-1,4},{y,-1,4},ContourStyle->Red,PlotPoints->100],ContourPlot[Q[x,y]==0,{x,-1,4},{y,-1,4},ContourStyle->Green,PlotPoints->100]]

Solve the ODE numerically up to t=10, with initial condition (s,c)(t=0)=((Subscript[s, 0]),(Subscript[c, 0])):

SolveIVP[s0_,c0_]:=NDSolve[{s'[t]==P[s[t],c[t]],c'[t]==Q[s[t],c[t]],s[0]==s0,c[0]==c0},{s,c},{t,0,10}];

Plot the vector field together with the numerical solutions (shown in red) obtained using different initial conditions:

Show[VectorPlot[{P[x,y]/(Sqrt[((P[x,y])^2)+((Q[x,y])^2)]),Q[x,y]/(Sqrt[((P[x,y])^2)+((Q[x,y])^2)])},{x,0,2},{y,0,3},VectorPoints->Fine],
Table[ParametricPlot[Evaluate[{s[t],c[t]}/.SolveIVP[sc[[1]],sc[[2]]]],{t,0,10},PlotStyle->Red],{sc,{{0.1,0.2},{0.3,0.1},{1.5,3},{2,2}}}]]

The intersections between the horizontal and vertical nullclines yield four equilibria: (s,c) = (0,0) (unstable), (0,3) (stable), (2,0) (stable), (1,1) (unstable). It can be seen that depending on the initial condition, the system evolves into either of the two stable equilibria. This implies that in the long run, either sheep or cows will go extinct.