- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《IDL入门讲义.ppt《IDL入门讲义.ppt《IDL入门讲义.ppt
IDL 入门教程;一、IDL基础;IDL语言的特性;IDL的发展;IDL程序示例:;IDL 基础;IDL 基础;1.1、IDL变量;变量数据类型
Byte 字节型 Int 有符号整数 Uint无符号整数
Long有符号长整型 Ulong无符号长整型 Long64 64位长整型
Float 浮点型 Double双精度浮点型
Complex复数 Dcomplex双精度复数
String 字符串 0-32767个字符
Struct 结构
Pointer 指针
Objref 对象的引用
;数据类型的转换;1.2、IDL数组 ;数组的创建
(1)利用[]创建。
(2)利用创建函数创建
Byte bytarr() bindgen()
Int intarr() indgen()
long lonarr() lindgen()
ulong ulonarr() ulindgen()
float fltarr() findgen()
double dblarr() dindgen()
string strarr() sindgen()
make_array make_array(3,2,/byte);数组的存储格式
IDL中数组元素的存储是按列进行的。按列存储的方式意味着连续的数组元素也将按顺序被存储,而且数组的第一维(列)变化的最快。
数组的下标
数组的下标可以是标量也可以是矢量。
进行下标操作时,如果下标超过了范围,则该下标被转换为在允许范围内的最小或最大的下标值。;1.3、表达式和运算法则;1.4、数组运算;取大()、取小()操作
分别返回自变量的最大值和最小值
当自变量为数组时,取大、取小运算符将对数组对应的每一对元素依次操作。
arr=[0,1,2,-9,5,6,-8,7,8] print,arr0
a=[2,4,6,7] b=[4,5,5,6]
print, ab
;关系运算符
eq ne le lt ge gt
返回一个数字结果,其中真值用‘1B’表示,假用’0B’表示。
关系运算符也可以作用于数组的自变量,如果两个自变量都是数组,那么关系运算符将依次作用于两个数组中每一对对应的元素。
a=1.0 b=2.0 help,a gt b
if (a lt b) then print,’True’
a=5 b=bindgen(9)
print,b
c=b le a
Print,c
a=[2,4,6,8] b=[3,4,5,6] print,a gt b
可以用于屏蔽数组中的某些值。
arr=indgen(9) mask=arr ge 5 result=mask*arr
;1.5数组操作函数;最大值和最小值
max min 函数
arr=dist(32) print,min(arr),max(arr)
总和
total函数返回数组元素的总和,也可以添加可选变量来计算特定维度的元素总和。
total函数还可以使用可选的关键字cumulative来计算累计的和。
arr=indgen(3,3)
print,total(arr)
arr=indgen(9) print,total(arr,/cumulative);1.6数组中元素的定位;1.7改变数组的维度和大小;1.8结构;;;1.9指针;;二、编写IDL程序;命名和编译源文件
命名一个IDL源文件的标志形式是在过程或函数名称后加上扩展名‘.pro’
过程和函数都可以通过’.compile’命令进行手动编译或是通过IDL IDE环境进行编译。
当需要时,过程和函数会在运行时自动编译,如果IDL调用的过程或函数之前未被编译过,则IDL会搜索路径下所有的文件夹以搜索源文件的名称。
;2.2控制语句;Case语句
case语句根据一个标量的表达式来选择某个语句或语句块运行。
case 表达式 of
情况1:
情况2:语句
情况3:begin
语句
end
else: 语句
endcase
当表达式和其中的某个情况匹配,相应的语句被执行, case语句结束,如果没有匹配的情况,那么执行else下的语句,如果没有else语句,将会发生错误,建议
文档评论(0)