input: Write a function to add two matrices. The function should return the resulting matrix after addition. If the dimensions of the two matrices are not the same, return 'Matrices not compatible'. If both matrices are empty, return an empty matrix.
  assert add_matrix([[1,2],[3,4]], [[5,6],[7,8]])==[[6, 8], [10, 12]]
  assert add_matrix([[1,2,3],[4,5,6]], [[7,8,9],[10,11,12]])==[[8, 10, 12], [14, 16, 18]]
  assert add_matrix([[1,2],[3,4]], [[5,6]])=='Matrices not compatible'
  assert add_matrix([], [])==[]
output: def add_matrix(matrix1, matrix2):
      if not matrix1 and not matrix2:
          return []
      if len(matrix1) != len(matrix2) or any(len(row1) != len(row2) for row1, row2 in zip(matrix1, matrix2)):
          return 'Matrices not compatible'
      return [[a + b for a, b in zip(row1, row2)] for row1, row2 in zip(matrix1, matrix2)]