input: Write a function to filter out all negative numbers from a given matrix and return the modified matrix. If the matrix contains only negative numbers, return an empty matrix.
  assert filter_out_negative([[-1, 2, -3], [-4, 5, 6], [-7, 8, 9]]).tolist()==[[0, 2, 0], [0, 5, 6], [0, 8, 9]]
  assert filter_out_negative([[1, 2, 3], [4, 5, 6], [7, 8, 9]]).tolist()==[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
  assert filter_out_negative([[-1, -2, -3], [-4, -5, -6], [-7, -8, -9]]).tolist()==[[], [], []]
  assert filter_out_negative([]).tolist()==[]
output: def filter_out_negative(matrix):
      if not matrix:
          return []
      modified_matrix = [[0 if x < 0 else x for x in row] for row in matrix]
      if all(all(x == 0 for x in row) for row in modified_matrix):
          return [[] for _ in range(len(matrix))]
      return modified_matrix