IDL基础运算符.doc

上传人:scccc 文档编号:12263516 上传时间:2021-12-02 格式:DOC 页数:10 大小:55KB
返回 下载 相关 举报
IDL基础运算符.doc_第1页
第1页 / 共10页
IDL基础运算符.doc_第2页
第2页 / 共10页
IDL基础运算符.doc_第3页
第3页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《IDL基础运算符.doc》由会员分享,可在线阅读,更多相关《IDL基础运算符.doc(10页珍藏版)》请在三一文库上搜索。

1、运算符是各个语言中必不可少的部分, IDL 作为一种基于矩阵运 算的语言, 实际应用实际应用中运算符操作有很多的技巧。 很多的时 候一个语句能实现复杂的功能,这点在波段运算中能够体现出来。1 运算符1.1 数学运算符IDL 中的数学运算符有加 ( +)、增运算(+)、减(-)、减运算(-)、 乘(* )、除( /)、幂( )、取余( mod)、取小( )和取大( )。1.1.1 增运算和减运算( +、 - - )这两个运算跟 C 里面的是一样的;IDL var = 20IDL> print,var+20IDL> print,var21IDL> var= indgen(2)ID

2、L> print,var+0 1IDL> print,var1 21.1.2 幂运算( )IDL> var = 216IDL> print,var532IDL> var = 2,3IDL> print,var24 91.1.3 取余运算( mod)IDL> var = 32IDL> print,var mod 40IDL> print,var mod 52IDL> var = 2,3IDL> print,var mod 20 11.1.4 取大和取小运算( > 、 <)IDL> var = 32IDL>

3、print,var > 3939IDL> print,var < 39IDL> print,var >2525 301.2 逻辑运算符1 否则返回 0IDL 中逻辑运算有几个: && , |, 和1.2.1&&逻辑的与运算,如果表达式为真或非零则返回IDL> PRINT, 5 && 21IDL> PRINT, 5 && 00IDL> PRINT, "sd" && "d"1IDL> PRINT, "sd"

4、 && " "1IDL> PRINT, "sd" && ""01.2.2| 逻辑的或运算IDL> PRINT, 5 | 21IDL> PRINT, 5 | 0IDL> IF (5 GT 3) | (4 GT 5)THEN PRINT, 'True'True1.2.3 逻辑的非运算IDL> print,30IDL> print,011.3位运算符IDL 中有四个位运算符: AND, NOT, OR, and XOR.。1.3.1 位加运算符( AND)I

5、DL> print,5 AND 640110 50111 60110 41.3.2 位取反运算符( NOT)IDL> print,not 11.3.3 位或运算符( OR)IDL> print,5 or 10150101 51010 101111 151.3.4 位与或运算符( XOR)IDL> print,3 XOR 560011 30110 50110 61.4 关系运算符IDL 中的关系运算符包括 EQ、NE、GE、GT、LE 、LT 几个,关系运算符返回的是真“ True”或假“ False”。1.4.1EQ (Equal to )等运算符,如果运算符两边相同则

6、返回真,否则返回假;IDL> print,2 EQ 2.01IDL> var = 2,3IDL> print,var eq 2 1 01.4.2NE (Not Equal to )不等运算符,如果运算符两边不等则返回真,否则返回假;IDL> print,2 NE 2.00IDL> print,2 NE 11IDL> var = 2,3IDL> print,var ne 20 11.4.3 GE ( Greater than or equal to)大于等于运算符,如果运算符两边左边大于等于右边则返回真,否则返回假;IDL> print,2 GE

7、11IDL> var = 2,3IDL> print,var ge 21 11.4.4 GT ( Greater than )大于运算符,如果运算符两边左边大于右边则返回真,否则返回假;IDL> print,2 GT 11IDL> var = 2,3IDL> print,var gt 20 11.4.5LE ( Less than or equal to)小于等于运算符,如果运算符两边左边小于等于右边则返回真,否则返回假;IDL> print,2 LE 10IDL> print,2 LE 121IDL> var = 2,3IDL> prin

8、t,var le 31 11.4.6 LT ( Less than )小于运算符,如果运算符两边左边大于右边则返回真,否则返回假;IDL> print,2 LT 10IDL> print,2 LT 121IDL> print,2 LT 20IDL> var = 2,3IDL> print,var lt 31 01.4.6 数组间运算IDL> a =2,3,5IDL> b = 1,4,5IDL> print,a GE b1 0 1IDL> b = 1,4,5,6IDL> print,a GE b1 0 1IDL> print,a

9、LE b0 1 11.5 数组运算符1.5.1#数组乘 (列乘行)IDL> PRINT, array11 2 12 -1 2IDL> PRINT, array21 30 11 1IDL> PRINT, array1#array27 -1 72 -1 21.5.2#矩阵乘(行乘列 )IDL> PRINT, array11 2 12 -1 2IDL> PRINT, array21 30 11 1IDL> PRINT, array1#array22 64 71.6 其他运算符1.6.1 小括号 ()表达式组合和控制一系列表达式的优先级;IDL> PRINT,

10、 3 + 4 * 2 2 /211IDL> PRINT, (3 + (4 * 2) 2 / 2)351.6.2 中括号 数组的连接或元素调用;IDL> C = 0, 1, 3IDL> PRINT, C, 50 1 3 5IDL> PRINT, C231.6.3 条件表达式 ?:该运算符的用法是: value = expr1 ? expr2 : expr3如果 expr1 是 true,那么 value 等于 expr2 否则 value = expr3.IDL> A=6 & B=4IDL> print,(A GT B) ? A : B61.6.4 对

11、象方法调用符 ->oWindow->Draw1.6.5 指针引用符 *指针调用符为 * ,调用格式为 * 指针变量。IDL> point1 = ptr_New(34)IDL> print,*point1342 运算符波段运算举例2.1 数据小于 0 的赋予 0 b1>02.2 数据值小于的赋予 -999(b1 LT 0)*-999+(b1 GE 0)*b12.3 三个波段求平均值, 如该波段小于 0 则不参加运算。如某点 b1:4;b2:6;b3:0;那平均值 ave =(b1+b2+b3)/(1+1);b1>0+b2>0+b3>0)/( (b1 ge 0) + (b2 ge 0)+(b3 ge 0) >1)2.4两幅图像,图像 1波段 b1中的云部分(象元值大于 200)用图像 2 的波段 b2代替(b1 GT 200)*b2+(b1 LE 200)*b12.5波段分段赋值,如 B1 中小于 0部分等于 0,b1中值在 0,10之间赋为原数值的 100倍,如果 b1 值大于 10 则赋为原数值的 10 倍。 (b1 LE 0)*b1>0 +(b1 ge 0)and(b1 le 10)*b1*100+ (b1 gt 10)*b1*10

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1