def SIR(self, y, t, parameters, *args):
  """
    The function that computes the diferential set of 
    equations of the SIR Epidemic Model.

    :param tuple y: Tuple with the suceptible and infected data.
    :param array t: The time respective to each y set of samples.
    :param float Beta: The Beta parameter.
    :param float r: The r parameter.

    :return: The derivative of the suceptible and infected data.
    :rtype: tuple
  """
  # Creating the simulation parameters
  if len(parameters) == 3:
    Beta = parameters[0] / (parameters[1] * parameters[2])
    r = 1 / parameters[1]
  else:
    Beta = parameters[0] / parameters[1]
    r = 1 / parameters[1]

  # Simulating the model
  if len(y) == 2:
    S, I = y
    Sdot = -Beta * S * I / self.N
    Idot = Beta * S * I / self.N  - r * I
    return Sdot, Idot

  if len(y) == 3:
    S, I, R = y
    Sdot = -Beta * S * I / self.N
    Idot = Beta * S * I / self.N - r * I 
    Rdot = r * I
    return Sdot, Idot, Rdot