【问题标题】:Selecting Principal Diagonal Elements选择主要对角元素
【发布时间】:2017-08-09 13:08:23
【问题描述】:

在下面显示的矩阵中,我如何选择元素 01、09、17 和 25。从 Egon's 回答我之前的问题 Select Diagonal Elements of a Matrix in MATLAB 我可以使用 c = (size(A)+1)/2; 选择中心值 25,但我想知道如何在 NW 方向选择上述元素。

A = [01 02 03 04 05 06 07
     08 09 10 11 12 13 14
     15 16 17 18 19 20 21
     22 23 24 25 26 27 28
     29 30 31 32 33 34 35
     36 37 38 39 40 41 42
     43 44 45 46 47 48 49];

【问题讨论】:

    标签: matlab matrix diagonal


    【解决方案1】:

    使用diag 获取对角线上的元素。

    diagA = diag(A)
    

    您可以将其限制为从左上角到中间的元素

    n = ceil(size(A, 1) / 2)
    diagA(1:n)
    

    【讨论】:

    • 我认为A 是正方形的。如果没有,那么您需要进一步说明您想要什么。
    • A 在我的情况下将永远是方形的。 A 是我在图像处理中使用的移动窗口。
    【解决方案2】:

    另一种方法是使用linear indexing。如果你有一个 N×N 矩阵,你可以选择你想要的元素如下:

    values = A(1:N+1:ceil((N^2)/2));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-03
      • 1970-01-01
      • 2016-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-31
      相关资源
      最近更新 更多