IDL——where函数的学习


1.where的基本用法

函数WHERE()能返回数组中满足指定条件的元素下标

调用格式:

Result=Where(数组表达式[,count][,Complement=变量1][,/L64][,NCOMPLEMENT=变量2])

其中,关键字count返回符合指定条件的元素个数;变量1为不满足条件的数组元素下标;变量2为不满足条件的数组元素个数

 

eg:

IDL> a=[[1,2],[3,4]]
IDL> print,a
1 2
3 4

IDL> c=where(a ge 2, count)
IDL> print,count         ;count:对应于a中大于等于2的元素个数
3

 

2.使用where返回对应数值的二维坐标

result 返回的是一维的坐标

要想返回二维坐标,需要使用array_indices函数

eg:

a=[[1,2],[3,4]]
IDL> print,a
1 2
3 4
IDL> pos=where(a eq 3)
IDL> print,pos
2
IDL> qc_dims=size(a,/dimensions)
IDL> pos2=array_indices(qc_dims,pos,/dimensions)     ;pos2对应于值为3的二维坐标
IDL> print,pos2
0 1
IDL> print,a[pos2[0],pos2[1]]
3

备注:学习的相关内容是从链接:https://www.cnblogs.com/wintertone/p/6596672.html  摘出来的,为了方便整理就写在自己的博客园中。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM