Создать блочную матрицу вдоль 1 строки

Здравстуйте, есть 5 матриц различного порядка. Необходимо создать матрицу из заданных матриц-блоков,расположив блоки вдоль 1-й строки матрицы. Результат должен получиться таким введите сюда описание изображения

Я понимаю как соединить матрицы, если их сделать одной размерности, дополнив нулями. Но проблема в том, что должно получится именно так. Существует ли какой-либо способ это сделать?


Ответы (1 шт):

Автор решения: CrazyElf
  • Определите, какой высоты и ширины должна получиться результирующая матрица
  • Создайте матрицу из нулей определённых шагом ранее ширины и высоты (есть такая функция в numpy)
  • Пройдите циклом по входным матрицам и скопируйте каждую по очереди в подходящее место выходной матрицы

Но вообще возможны варианты. Можно объединять данные горизонтально функцией hstack, но как это сделать для матриц разного размера - не знаю. Возможно, нужно расширить матрицы в высоту до одной высоты с заполнением нулями, а возможно как-то можно заставить hstack сделать это самостоятельно - тут я не в курсе, нужно смотреть, пробовать. Проверьте и такой вариант, если вам интересно.

→ Ссылка