IDL语言基础知识演示文稿

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
- 函数返回数组元素的个数
第36页,共54页。
IDL语言基础-数组
• 相关计算函数
- 最大值
MAX()
- 最小值 MIN()
- 和计算
Total() - 乘积计算
Product()
第37页,共54页。
IDL语言基础-数组
• 相关计算函数 - 阶乘
Factorial() - 平均值
Mean()
- 方差计算
- 赋值 - 空指针
第48页,共54页。
IDL语言基础-指针 • 内存控制
- 内存分配
- pData = Ptr_New(data,/No_Copy)
- 内存释放
- Ptr_Free,point
第49页,共54页。
IDL语言基础
❖ 变量
❖ 数组
❖ 字符串 ❖ 结构体
❖ 指针 ❖ 运算符
❖ 其他符号
❖ 其他符号
第40页,共54页。
IDL语言基础-字符串
• 字符
- 创建字符串及字符串数组
➢直接赋值
➢‘string’,”string’df’”
➢创建函数
➢StrArr()
第41页,共54页。
IDL语言基础-字符串
• 字符
- 字符操作函数
➢StrTrim
➢StrMid
➢StrPos
第42页,共54页。
第45页,共54页。
IDL语言基础 ❖ 变量 ❖ 数组
❖ 字符串
❖ 结构体
❖ 指针 ❖ 运算符 ❖ 其他符号
第46页,共54页。
IDL语言基础-指针
• 概述 - 指针时,其数据存储于一个堆变量中。堆变量在程序 运行期间是全局变量,而且只有通过指针名才能访问。
- 堆变量是可以动态的分配内存的全局变量。
❖位运算
- 位加(AND) - 位取反(NOT) - 位或(OR) - 位与或(XOR)
第52页,共54页。
IDL语言基础-运算符
• 关系运算符
- EQ
- NE
- GE
- GT - LE - LT
❖数组运算
- 数组乘(#) - 矩阵乘(##)
第53页,共54页。
IDL语言基础 ❖ 变量
❖ 数组
❖ 字符串 ❖ 结构体 ❖ 指针
• 创建和访问与赋值
- 创建Ptr_New() - 访问(*)point - 赋值
第47页,共54页。
IDL语言基础-指针 • 概述
- 指针时,其数据存储于一个堆变量中。堆变量在程序运行期间是 全局变量,而且只有通过指针名才能访问。
- 堆变量是可以动态的分配内存的全局变量。
• 创建和访问与赋值
- 创建Ptr_New() - 访问(*)point
- 下标方式 使用下标来读取数组中的元素。
- 向量方式 通过向量下标获得数组中的系列元素。
- 子数组选取
下标的方式
第23页,共54页。
IDL语言基础-数组
• 数组运算 - 求大、求小和求余
第24页,共54页。
IDL语言基础-数组
• 数组运算
- 数组与数运算
第25页,共54页。
IDL语言基础-数组
IDL语言基础知识演示文稿
第1页,共54页。
IDL语言基础知识
第2页,共54页。
目录
• 认识IDL编译器 • 第一个IDL程序 • IDL语言基础
第3页,共54页。
认识IDL编译器
• 工作空间
- 创建新的工作空间
- 创建新的工程项目 - 参数设置
编码 源码格式 颜色

- 导入
➢文件系统
➢首选项
❖ 运算符
❖ 其他符号
第54页,共54页。
- 数组旋转 ➢Rotate()
- 可以以任意的角度对数组进行旋转操作并能进行放大、缩小 操作。
第34页,共54页。
IDL语言基础-数组 • 数组相关函数
- 数组排序 ➢Sort()
- 函数返回排序后的数组索引。
第35页,共54页。
IDL语言基础-数组 • 数组相关函数
- 数组元素个数
➢N_Elements()
print,round(var)
第15页,共54页。
IDL语言基础-变量
• 系统变量
- 自定义系统变量
➢创建
• Defsysv,’!变量名’,值
➢使用
• 跟局部变量的使用方法一样,!变量名
第16页,共54页。
IDL语言基础
❖ 变量 ❖ 数组 ❖ 字符串 ❖ 结构体
❖ 指针
❖ 运算符
❖ 其他符号
第17页,共54页。
➢现有项目
第4页,共54页。
认识IDL编译器
• 文件操作 - 打开文件
- 创建文件
- 保存文件
- 编辑文件-ຫໍສະໝຸດ 编译和运行第5页,共54页。
认识IDL编译器
• 命令行及命令历史查看
第6页,共54页。
认识IDL编译器
• 获得帮助
- 悬停帮助 - 选中内容帮助
- 联机帮助系统
第7页,共54页。
第一个IDL程序
- 大小调整
➢EXPAND
• 二维数组 • 双线性内插
第31页,共54页。
IDL语言基础-数组
• 数组相关函数
- 数组反转
➢Reverse()
• 反转的是数组的维数
第32页,共54页。
IDL语言基础-数组
• 数组相关函数
- 数组旋转
Rotate()
第33页,共54页。
IDL语言基础-数组
• 数组相关函数
IDL语言基础
❖ 变量
❖ 数组
❖ 字符串 ❖ 结构体 ❖ 指针
❖ 运算符 ❖ 其他符号
第43页,共54页。
IDL语言基础-结构体
• 结构体 - 标量、数组或结构的集合,是复合变量。 - 创建结构体
➢命名结构体
➢匿名结构体
- 访问结构体
➢StructName.VarName
第44页,共54页。
IDL语言基础-结构体 • 结构体相关操作函数
Variance()
- 标准差计算
Stddev()
- 平均值、方差、倾斜度
Moment()
第38页,共54页。
IDL语言基础-数组
• 矩阵运算 - 矩阵间 AMN # BLM AMN ## BLM - 矩阵函数
第39页,共54页。
IDL语言基础 ❖ 变量
❖ 数组
❖ 字符串 ❖ 结构体 ❖ 指针 ❖ 运算符
IDL语言基础 • 数组定义
- 程序设计中,为了处理方便, 把具有相同类型的若 干变量按有序的形式组织起来。这些按序排列的同类 数据元素的集合称为数组。
- IDL支持0→8维数组 - 数组的下标是★先列后行★
第18页,共54页。
IDL语言基础-数组
• 数组创建
- 赋值创建
第19页,共54页。
IDL语言基础-数组
• 数组运算
- 数组与数组运算 ➢数组与数组的运算
➢结果的元素个数与 ➢运算的最小数组个
➢数一致。
第26页,共54页。
IDL语言基础-数组 • 数组相关函数
- 数组信息Size()
第27页,共54页。
IDL语言基础-数组
• 数组相关函数 - 条件查找Where()
第28页,共54页。
IDL语言基础-数组
• 数组创建
- 函数创建
➢全零和索引数组
• 函数
第20页,共54页。
IDL语言基础-数组
• 数组创建
- 函数创建
➢全零和索引数组
• 常规函数 - MAKE_ARRAY()
第21页,共54页。
IDL语言基础-数组 • 数组存储
数组按行存储。
- 一维数组
- 二维数组
第22页,共54页。
IDL语言基础-数组 • 使用数组
• 数组相关函数
- 大小调整 ➢Rebin
• 修改为不同维数 • 算法双线性内插
第29页,共54页。
IDL语言基础-数组
• 数组相关函数 - 大小调整
➢Congrid
• 修改为同维任意大小 • 一维或二维-最邻近重采样 • 三维-双线性内插
第30页,共54页。
IDL语言基础-数组
• 数组相关函数
第8页,共54页。
编写IDL程序
• 编写Helloworld.pro
- 熟悉代码编写方法 - 运行代码
• 创建工程
pro helloworld void = dialog_message('Hello IDL',/information)
end
第9页,共54页。
语言基础
第10页,共54页。
IDL语言基础
• 4_line abc.cha
第12页,共54页。
IDL语言基础-变量
• 局部变量
- 数据类型
第13页,共54页。
IDL语言基础-变量 • 局部变量
- 类型转换
第14页,共54页。
IDL语言基础-变量
var =5.6 print, fix(var) print,floor(var) print,ceil(var)
❖ 变量 ❖ 数组 ❖ 字符串
❖ 结构体
❖ 指针 ❖ 运算符 ❖ 其他符号
第11页,共54页。
IDL语言基础 • 变量
- 局部变量
➢命名规则 • 最大长度不超过255个字符,变量的首位只能是字母和下划线,中 后部只能是字母、数字、下划线“_”和连接符“$” • abc_3$d ok_24_bit IDL_type variable _day_month_year
第50页,共54页。
IDL语言基础-运算符
• 数学运算符
- 加(+) - 增运算(++) - 减(-)
- 减运算(--)
- 乘(*) - 除(/) - 幂(^) - 取余(mod)
- 取小(<) - 取大(>)
第51页,共54页。
IDL语言基础-运算符
• 逻辑运算符
- 与运算(&&) - 或运算(||) - 非运算(~)
相关文档
最新文档