【问题标题】:how to find upper and lower diagonal matrix matlabmatlab如何求上下对角矩阵
【发布时间】:2023-03-31 08:35:01
【问题描述】:

我尝试用matlab在matlab中求上下对角矩阵

这就是想法

如果我有矩阵 4x4

 1  2  3  4 
 5  6  7  8
 9 10 11 12 
13 14 15 16

主对角线是

1 6 11 16

但第二条上对角线是

2 7 12

下面是

5 10 15

所以有triutril,但是要编写它或使用matlab中的任何其他函数来找到矩阵中的上下对角线。

【问题讨论】:

    标签: arrays matlab matrix


    【解决方案1】:

    只需使用 diag ,例如

     diag(A,0)   % main diagonal, also diag(A)
     diag(A,-1)  % lower diagonal
     diag(A,1)   % upper ...
    

    【讨论】:

      【解决方案2】:

      您可以使用简单的线性索引来获取矩阵的任何对角线。您只需要知道第一个元素的线性索引和矩阵中的行数:

       >> [m n] = size(A);
      

      获取矩阵上的主对角线(第一个元素索引为1):

       >> A( 1 : ( m+1 ) : end )
      

      获取下对角线(第一个索引为 2):

       >> A( 2 : ( m+1 ) : end )
      

      获取上对角线(第一个索引是m+1):

      >> A( (m+1) : (m+1) : end )
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多