选择主对角元素

问题描述:

在下面显示的矩阵中,我可以如何选择元素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]; 

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

diagA = diag(A) 

您可以

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

我假设'A'是方形的。如果没有,那么你需要进一步澄清你想要的。 – 2011-04-19 10:15:30

+0

在我的情况下,A'将永远是正方形。 'A'是我在图像处理中使用的移动窗口。 – 2011-04-19 12:09:34

限制这从左边到中间顶部的元素的另一种方式做,这是linear indexing。如果你有一个N×N矩阵,你可以选择你想要的元素,如下所示:

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