我想创建一个矩阵,其中矩阵是矩阵元素的对角元素吗?在Matlab中没有循环
A=[1 2;3 4]
B=[1 0 0 0;0 2 0 0;0 0 3 0;0 0 0 4]
答案 0 :(得分:0)
在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())