-1
Я хочу создать матрицу, где матрица - это диагональные элементы других элементов матрицы? без цикла в MatlabМатричные диагональные элементы матрицы
A=[1 2;3 4]
B=[1 0 0 0;0 2 0 0;0 0 3 0;0 0 0 4]
Я хочу создать матрицу, где матрица - это диагональные элементы других элементов матрицы? без цикла в MatlabМатричные диагональные элементы матрицы
A=[1 2;3 4]
B=[1 0 0 0;0 2 0 0;0 0 3 0;0 0 0 4]
В случае Matlab, просто сделайте следующее
v = A'(:) % transpose since it makes long column by concat left to right column
B = diag(v)
В случае Python, вы можете использовать NumPy
import numpy as np
A = np.array([[1,2], [3,4]])
B = np.diag(A.ravel())