文章标题
2017-10-12 10:47
169 查看
IDL中的关系运算符包括EQ、NE、GE、GT、LE、LT几个,关系运算符返回的是真“True”或假“False”。
EQ(Equal to)等运算符,如果运算符两边相同则返回真,否则返回假;
NE(Not Equal to)不等运算符,如果运算符两边不等则返回真,否则返回假;
GE(Greater than or equal to)大于等于运算符,如果运算符两边左边大于等于右边则返回真,否则返回假;
GT(Greater than)大于运算符,如果运算符两边左边大于右边则返回真,否则返回假;
LE(Less than or equal to)小于等于运算符,如果运算符两边左边小于等于右边则返回真,否则返回假;
LT(Less than)小于运算符,如果运算符两边左边大于右边则返回真,否则返回假;
WHERE在WHERE函数返回一个Vector,它包含了Array_Expression的非零元素的一维下标。由此产生的矢量长度等于非零元素Array_Expression数目。其中的第二个参数Count当做输出参数,返回非零元素个数。一般情况下WHERE的结果被当做向量下标使用,通过给定的标准选择符合条件的元素从数组中。
Interpolate()函数:可以将数组调整到同维任意大小,并支持任意定位差值。调用格式为
Interpolate(数组,X[,Y[,Z]][,关键字])
EQ(Equal to)等运算符,如果运算符两边相同则返回真,否则返回假;
NE(Not Equal to)不等运算符,如果运算符两边不等则返回真,否则返回假;
GE(Greater than or equal to)大于等于运算符,如果运算符两边左边大于等于右边则返回真,否则返回假;
GT(Greater than)大于运算符,如果运算符两边左边大于右边则返回真,否则返回假;
LE(Less than or equal to)小于等于运算符,如果运算符两边左边小于等于右边则返回真,否则返回假;
LT(Less than)小于运算符,如果运算符两边左边大于右边则返回真,否则返回假;
ENVI> a = indgen(12) ENVI> print,a 0 1 2 3 4 5 6 7 8 9 10 11 ENVI> result = where(a GT 4,count,complement = res_c,ncomplement = res_n) ENVI> print,count 7 ENVI> print,result ;大于4的计算结果 5 6 7 8 9 10 11 ENVI> print,res_c 0 1 2 3 4 ENVI> print,res_n 5
WHERE在WHERE函数返回一个Vector,它包含了Array_Expression的非零元素的一维下标。由此产生的矢量长度等于非零元素Array_Expression数目。其中的第二个参数Count当做输出参数,返回非零元素个数。一般情况下WHERE的结果被当做向量下标使用,通过给定的标准选择符合条件的元素从数组中。
Interpolate()函数:可以将数组调整到同维任意大小,并支持任意定位差值。调用格式为
Interpolate(数组,X[,Y[,Z]][,关键字])
IDL> arr=findgen(2,2) IDL> print,arr 0.000000 1.00000 2.00000 3.00000 IDL> ;采用线性内插方式获取数组arr中[0,0] [0.5,0.5] [1.5,1.5]位置的值 IDL> print,interpolate(arr,[0,.5,1.5],[0,.5,1.5]) 0.000000 1.50000 3.00000 IDL> ;采用线性内插方式获取数组arr中0 0.5 1.5行的值 IDL> print,interpolate(arr,[0,.5,1.5]) 0.000000 1.00000 1.00000 2.00000 2.00000 3.00000 IDL> ;采用网格差值方式获取数组arr中[0,0] [0.5,0.5] [1.5,1.5]位置的值 IDL> print,interpolate(arr,[0,.5,1.5],[0,.5,1.5],/grid) 0.000000 0.500000 1.00000 1.00000 1.50000 2.00000 2.00000 2.50000 3.00000 IDL> ;missing为差值点坐标超出数组自身坐标范围时赋予该值 IDL> print,interpolate(arr,[0,.5,1.5],[0,.5,1.5],/grid,missing=0) 0.000000 0.500000 0.000000 1.00000 1.50000 0.000000 0.000000 0.000000 0.000000