如何在matlab中将一个矩阵分配给另一个矩阵的对角线
How to assign a matrix to the diagonals of another matrix in matlab
我有一个矩阵 D = zeros (30, 432);
我想将 d = [ 1 1 0 0; 0 0 1 1; 0 0 0 0];
分配给矩阵 D 的对角线。我有下面的代码,但它不允许我为每个对角线值分配 d D.
[N,~,P,Q]=size(D);
diagIndex=repmat(logical(eye(N)),[1 1 P Q]);
D(diagIndex)=d;
30x432 矩阵的输出如下:
d 0 0 0
0 d 0 0
0 0 d 0
0 0 0 d
我有一个矩阵 D = zeros (30, 432);
我想将 d = [ 1 1 0 0; 0 0 1 1; 0 0 0 0];
分配给矩阵 D 的对角线。我有下面的代码,但它不允许我为每个对角线值分配 d D.
[N,~,P,Q]=size(D);
diagIndex=repmat(logical(eye(N)),[1 1 P Q]);
D(diagIndex)=d;
30x432 矩阵的输出如下:
d 0 0 0
0 d 0 0
0 0 d 0
0 0 0 d