当前位置 : 主页 > 网络安全 > 测试自动化 >

性能 – 在Matlab中获得矩阵的对角线

来源:互联网 收集:自由互联 发布时间:2021-06-22
设A是大小为[n,n]的矩阵.如果我想提取它的对角线,我会做diag(A). 实际上,我想要相反的对角线,它将是[A(n,1),A(n-1,2),A(n-2,3),…]. 一种方法是通过diag(flipud(A)).然而,与找到通常的对角线相比,
设A是大小为[n,n]的矩阵.如果我想提取它的对角线,我会做diag(A).

实际上,我想要相反的对角线,它将是[A(n,1),A(n-1,2),A(n-2,3),…].

一种方法是通过diag(flipud(A)).然而,与找到通常的对角线相比,flipud(A)非常浪费并且花费了10倍的时间.

我正在寻找一种快速获得对角线的方法.当然,对于循环似乎非常缓慢.建议将不胜感激.

这是我的矩阵,由A = magic制作(5)

A =

17    24     1     8    15
23     5     7    14    16
 4     6    13    20    22
10    12    19    21     3
11    18    25     2     9


s = size(A,1)
A(s:s-1:end-1)

ans =
11    12    13    14    15
网友评论