Создать блочную матрицу вдоль 1 строки
Здравстуйте, есть 5 матриц различного порядка. Необходимо создать матрицу из заданных матриц-блоков,расположив блоки вдоль 1-й строки матрицы.
Результат должен получиться таким 
Я понимаю как соединить матрицы, если их сделать одной размерности, дополнив нулями. Но проблема в том, что должно получится именно так. Существует ли какой-либо способ это сделать?
Ответы (1 шт):
- Определите, какой высоты и ширины должна получиться результирующая матрица
- Создайте матрицу из нулей определённых шагом ранее ширины и высоты (есть такая функция в
numpy) - Пройдите циклом по входным матрицам и скопируйте каждую по очереди в подходящее место выходной матрицы
Но вообще возможны варианты. Можно объединять данные горизонтально функцией hstack, но как это сделать для матриц разного размера - не знаю. Возможно, нужно расширить матрицы в высоту до одной высоты с заполнением нулями, а возможно как-то можно заставить hstack сделать это самостоятельно - тут я не в курсе, нужно смотреть, пробовать. Проверьте и такой вариант, если вам интересно.