【发布时间】:2018-12-23 03:37:45
【问题描述】:
我有一个矩阵 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
【问题讨论】:
-
您想要的输出到底是什么?请提供该输出。请创建一个小示例
-
你是在寻找内在函数
blkdiag吗? -
@Sardar Usama 我确实放了一个输出示例。
-
输出矩阵有12行16列?
-
嗯,它有 30 行和 432 列。这只是一个小例子。
标签: matlab matrix multidimensional-array diagonal