【IDL】获取n*n数组的对角线元素的方法

问题如文标题:

示例:5*5的原数组,输出如下:

IDL> arr = indgen(5,5)
IDL> print,arr
      0      1      2      3      4
      5      6      7      8      9
     10     11     12     13     14
     15     16     17     18     19
     20     21     22     23     24

对角线元素为:0,6,12,18,24;

方法1:双子数组下标,即subarr = arr[indgen(n),indgen(n)]

IDL> print,arr[indgen(5),indgen(5)]
      0      6     12     18     24

方法2:一维下标,即subarr = arr[indgen(n)*(n+1)]

IDL> print,arr[indgen(5)*(5+1)]
      0      6     12     18     24

方法3:仍然一维下标,用法更简洁subarr = arr[0:(n*n-1):(n+1)],原理与方法2一样。

IDL> print,arr[0:(5*5-1):(5+1)]
      0      6     12     18     24

 

posted @   地理遥感生态网平台  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示