MATLAB Answers


how to plot the phase portraits of a onlinear dynamics of rock-paper-scissors game model

Asked by Cui Pengbi on 20 Aug 2018
Latest activity Commented on by Cui Pengbi on 21 Aug 2018
Let x,y, and z denote the relative frequencies of individuals playing rock, paper, and scissors, respectively. Then x + y + z = 1 or z = 1 − x − y. By eliminating z in this fashion, one can capture the dynamics of the three strategies by studying x and y alone: x'=x*(f_x-p)+u*(-2*x+y+z), y'=y*(f_y-p)+u*(-2*y+x+z), f_x and f_y denote the expected fitness of individuals playing rock and paper, respectively, and p = x*f_x + y*f_y + z*f_z is the average fitness in the whole population.
Then the question is how can I plot the phase diagram like this:
I'm sorry for missing some key informations: the payoffs of the three strategies are:
p = x*f_x + y*f_y + z*f_z
is the average fitness in the whole population.
According to the restriction: x+y+z=1.0, the ODEs of the system could be simplified as:
And the initial conditions are
x_0=1/3. y_0=1/3, z_0=1/3.
The values of the parameters are:
(1u=0.4 and e=2,
(2) u=0.05 and e=5


Sign in to comment.

1 Answers

Answer by Mischa Kim
on 21 Aug 2018
 Accepted Answer

Hi Cui, there are two steps you need to take to get to your desired result:
  1. Solve the differential equations (DE): Essentially you have a system of two coupled DE in x and y. See this answer to get started.
  2. Plot the solution of the differential equation in a triangular plot: There are a couple of examples of triangular shaped plots on our File Exchange. Search for ternary and entropy plot. Hope this helps.


Thanks! It indeed works. And now the next problem is how to extend this to the case of simplex 4 when there are four variables to be considered:

Sign in to comment.

Translated by