code: def meshgrid(x_min, x_max, x_step, y_min=None, y_max=None, y_step=None):
      
      if y_min is None:
          y_min = x_min
      if y_max is None:
          y_max = x_max
      if y_step is None:
          y_step = x_step
      xx, yy = np.meshgrid(
          np.arange(x_min, x_max, x_step), np.arange(y_min, y_max, y_step)
      )
      return xx, yy
docs: Make a meshgrid, e.g. when plotting decision surfaces.