matrix - у вас пустой список, а вы пытаетесь в [i,j]-ую ячейку что-то записать. Ошибка о том и говорит, что идет обращение по недопустимому индексу.
Вы после ввода m, n сделайте вот это:
matrix = [[0 for x in range(n)] for y in range(m)]
А уже потом ваши 2 цикла с генерацией делайте.
Ну или в циклах добавляйте в matrix новые элементы:
matrix = []
for i in range(m):
matrix.append([])
for j in range(n):
matrix[i].append(random.randint(1,9))