标签: matlab matrix
我想在MATLAB中创建一个特殊的对角矩阵 使用[1 1]或任何其他数组作为主要对角元素。 类似于以下内容:
[1 1]
[1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1]
如何在不使用任何循环结构的情况下做到这一点?
答案 0 :(得分:2)
让我们
v = [1 1]; n = 3;
使用kron:
kron
result = kron(eye(n), v);
使用blkdiag:
blkdiag
vv = repmat({v}, 1, n); result = blkdiag(vv{:});