【问题标题】:Create a special diagonal matrix创建一个特殊的对角矩阵
【发布时间】:2019-05-03 22:53:15
【问题描述】:

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

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

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

【问题讨论】:

  • 我建议将您尝试过的一些代码包含在您的问题中。这将增加获得答案的机会,并减少您的问题被标记和删除的机会。

标签: matlab matrix


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2021-12-11
    • 2014-11-08
    • 2014-07-13
    • 1970-01-01
    • 2016-05-22
    • 1970-01-01
    • 1970-01-01
    • 2013-08-04
    • 1970-01-01
    相关资源
    最近更新 更多