У меня есть два комплекта 3D очков в NumPy, и я хотел бы создать матрицу и вектор представление точек следующим образом:Создание этого блока матрицы в NumPy
| X1 Y1 Z1 0 0 0 0 0 0 1 0 0| | X1 |
| 0 0 0 X1 Y1 Z1 0 0 0 0 1 0| | Y1 |
| 0 0 0 0 0 0 X1 Y1 Z1 0 0 1| | Z1 |
| X2 Y2 Z2 0 0 0 0 0 0 1 0 0| | X2 |
| 0 0 0 X2 Y2 Z2 0 0 0 0 1 0| | Y2 |
| 0 0 0 0 0 0 X2 Y2 Z2 0 0 1| | Z2 |
обычай был бы что-то вроде:
import numpy as np
pts = np.random.rand(10, 3)
Таким образом, матрица теперь будет иметь форму (30, 12).
30 рядов (3 на точку) и 12 столбцов. В этом случае матрица будет составлять 30 элементов. Есть ли способ достичь этого в python без написания явного цикла for
?
Спасибо. Использование кронекерских продуктов было откровением. – Luca