资源描述:
《IDL开发专题-IDL运算符与ENVI波段运算举例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、运算符是各个语言中必不可少的部分,IDL作为一种基于矩阵运算的语言,实际应用实际应用中运算符操作有很多的技巧。很多的时候一个语句能实现复杂的功能,这点在波段运算中能够体现出来。1运算符1.1数学运算符 IDL中的数学运算符有加(+)、增运算(++)、减(-)、减运算(--)、乘(*)、除(/)、幂(^)、取余(mod)、取小(<)和取大(>)。1.1.1增运算和减运算(++、--) 这两个运算跟C里面的是一样的; IDL>var=20 IDL>print,var++ 20 IDL>print,var 21 IDL>var=indgen(2) IDL>print
2、,var++ 0 1 IDL>print,var 121.1.2幂运算(^) IDL>var=2 IDL>print,var^4 16 IDL>print,var^5 32 IDL>var=[2,3] IDL>print,var^2 491.1.3取余运算(mod) IDL>var=32 IDL>print,varmod4 0 IDL>print,varmod5 2 IDL>var=[2,3] IDL>print,varmod2 011.1.4取大和取小运算(> 、<) IDL>var=32 IDL>print,var>39 39
3、 IDL>print,var<39 32 IDL>var=[20,30] IDL>print,var>25 25301.2逻辑运算符 IDL中逻辑运算有几个:&&,
4、
5、, 和 ~。1.2.1&& 逻辑的与运算,如果表达式为真或非零则返回1否则返回0。 IDL>PRINT,5&&2 1 IDL>PRINT,5&&0 0 IDL>PRINT,"sd"&&"d" 1 IDL>PRINT,"sd"&&"" 1 IDL>PRINT,"sd"&&"" 01.2.2
6、
7、 逻辑的或运算 IDL>PRINT,5
8、
9、2 1 IDL>PRINT,5
10、
11、
12、0 1 IDL>PRINT,0
13、
14、0 0 IDL>IF((5GT3)
15、
16、(4GT5)) THENPRINT,'True' True1.2.3~逻辑的非运算 IDL>print,~3 0 IDL>print,~0 11.3位运算符 IDL中有四个位运算符:AND, NOT, OR,and XOR.。1.3.1位加运算符(AND) IDL>print,5AND6 4 0110 ← 5 0111 ← 6 ———————— 0110 ← 41.3.2位取反运算符(NOT) IDL>print,not1 -21.3.3位或运算符(OR)
17、 IDL>print,5or10 15 0101 ← 5 1010 ← 10 ———————— 1111 ← 151.3.4位与或运算符(XOR) IDL>print,3XOR5 6 0011 ← 3 0110 ← 5 ———————— 0110 ← 61.4关系运算符 IDL中的关系运算符包括EQ、NE、GE、GT、LE、LT几个,关系运算符返回的是真“True”或假“False”。1.4.1EQ(Equalto) 等运算符,如果运算符两边相同则返回真,否则返回假; IDL>print,2EQ2.0 1 IDL>var=[2,3] IDL>p
18、rint,vareq2 101.4.2NE(NotEqualto) 不等运算符,如果运算符两边不等则返回真,否则返回假; IDL>print,2NE2.0 0 IDL>print,2NE1 1 IDL>var=[2,3] IDL>print,varne2 011.4.3 GE(Greaterthanorequalto) 大于等于运算符,如果运算符两边左边大于等于右边则返回真,否则返回假; IDL>print,2GE1 1 IDL>var=[2,3] IDL>print,varge2 111.4.4 GT(Greaterthan) 大于运算符,如果
19、运算符两边左边大于右边则返回真,否则返回假; IDL>print,2GT1 1 IDL>var=[2,3] IDL>print,vargt2 011.4.5LE(Lessthanorequalto) 小于等于运算符,如果运算符两边左边小于等于右边则返回真,否则返回假; IDL>print,2LE1 0 IDL>print,2LE12 1 IDL>var=[2,3] IDL>print,varle3 11 1.4.6 LT(Lessthan) 小于运算符,如果运算符