创建一个特殊的对角矩阵

时间:2019-05-03 22:53:16

标签: matlab matrix

我想在MATLAB中创建一个特殊的对角矩阵 使用[1 1]或任何其他数组作为主要对角元素。 类似于以下内容:

[1   1   0   0   0   0
 0   0   1   1   0   0
 0   0   0   0   1   1]

如何在不使用任何循环结构的情况下做到这一点?

1 个答案:

答案 0 :(得分:2)

让我们

v = [1 1];
n = 3;
  • 使用kron

    result = kron(eye(n), v);
    
  • 使用blkdiag

    vv = repmat({v}, 1, n);
    result = blkdiag(vv{:});