IDL可视化入门与提高
第二章 IDL可视化入门与提高 2.1 交互式与编译式
2.1.1 交互式模式
交互式模式可以利用简洁有效的单行命令快速进行数据分析和实现可视化。在交互式模式下,命令在IDL提示符下输入,并且当用户按回车键时执行
输入如下命令:
X = findgen(201)*0.1 ; 创建一个包含了201个元素的浮点数组,第一个元素为0.0,步长为0.1
Y = sin(x) ;创建浮点数组x的正弦函数数组 Plot,x,y; 绘出sin(x)的函数
交互模式最大的有点是,用户工作的结果能迅速地在图像、图形等窗口中实现可视化
2.1.2 编译模式 在此先不做介绍
2.2变量
IDL创建变量时,不需要对变量进行类型声明
IDL> var = 2.0;创建一个浮点型变量,对变量进行初始化 IDL> help,var
VAR FLOAT = 2.00000
重新定义为整型
IDL> var = 2;创建一个整型变量,对变量进行初始化 IDL> help,var
VAR INT = 2
2.2.2跟踪变量类型
无论在IDL的命令行,还是在IDL的程序中,使用“help”命令始终是帮助显示变量类型和大小的有效途径
对于标量类自变量在上列中以给出说明,在此不做赘述
对于数组类变量,“help”命令显示自变量的名称、大小、类型
IDL> arr = [12,13,14] IDL> help,arr
ARR INT = Array[3]
2.2.3数据类型的转换
IDL自身提供了变量转换函数
IDL> x = 3.141567 IDL> help,x
X FLOAT = 3.14157 IDL> fix(x) fix(x) ^
% Syntax error. IDL> x = fix(x) IDL> help,x
X INT = 3 IDL> x = byte(x) IDL> help,x
X BYTE = 3
如果要转换为byte,字节型变量,在转换的过程中只有最不重要的八位会转换过来,即最后面的八位 列入:
Var = 567; 567转换为二进制为1000110111 Var = byte(var); 只会保留最后面的八位,0110111 Help,var;最后得到的结果是55
IDL中默认的整数数据是16为有符号整型
2.2.4浮点数想整型的转换
当fix 和 long函数使用于浮点型变量向整数型变量转换时,将会发生截断现象
IDL> x = [4.23,4,56] IDL> print,x
4.23000 4.00000 56.0000 IDL> print,fix(x) 4 4 56
IDL> arr = [3.14,7.89,-5.7,-9.8] IDL> print,arr
3.14000 7.89000 -5.70000 -9.80000 IDL> print,fix(arr)
3 7 -5 -9 IDL> ;x
IDL> ;将浮点数组转换为整数型数组,数组中所用元素舍去小数点后的数字 IDL> print,long(arr)
3 7 -5 -9 IDL> print,round(arr);对数组中的每个元素进行四舍五入 3 8 -6 -10
IDL> print,floor(x);小于或等于自变量且最接近自变量的长整型整数 4 4 56 IDL> print,floor(arr)
3 7 -6 -10
IDL> print,cei(arr);大于或等于且最接近自变量的长整型整数 % Variable is undefined: CEI.
% Execution halted at: $MAIN$ IDL> print,ceil(arr)
4 8 -5 -9
2.2.5字符串和数字类型之间的转换
字符串变量可以转换为数字类型(里面含有数字数值)
IDL> print,float('3.2') 3.20000
IDL> print,float('123abc') 123.000
如果不包含数字数值,那么在转换时IDL会给出一个警告信息,并输出解果0
IDL> print,float('wode')
% Type conversion error: Unable to convert given STRING to Float. % Detected at: $MAIN$ 0.000000
当变量的字节类型向字符串类型转换时,输出结果是一个标量变量,该变量是对应于输入变量的ASCII码字符
IDL> print,string([47B,48B]) /0
当变量的字符串类型想字节类型转换时,输出结果是一个数组,其元素值是对应于输入字符串中每个字符的ASCII值
IDL> help,byte('ABC')
2.2.6变量的名称
IDL中变量的名称必须以字母开头,它们可以包括其他字母、数字、下划线、美元符号。 2.3数组简介
在IDL中可以为任何IDL数据类型创建1~8维数组。紧凑的数组语法能保证数组运行时不适用循环操作。数组操作的优点体现在运行速度上 2.3.1创建数组
在IDL中利用方括号【】,创建数组 创建一维数组
IDL> x = [1,2,3,4,5] IDL> help,x;用于显示x的大小
X INT = Array[5] IDL> print,x;输出x的值
1 2 3 4 5
创建多维数组
IDL> x = [[1,2,3],[4,5,6]];创建两行三列的数组 IDL> print,x
1 2 3 4 5 6 IDL> ;输出x IDL> help,x
X INT = Array[3, 2]
IDL> ;输出x的横列号,对于IDL中的数组【m,n】,m为列,n为行
值可以附加到已经存在的数组中
IDL> y = [[x],[6,7,8]] IDL> print,x
1 2 3 4 5 6 IDL> print,y
1 2 3 4 5 6 6 7 8
2.3.3创建数组的函数
IDL的内建函数允许用户按给定的类型创建数组,同时数组中的每一个元素都被初始化为0(intarr),或被初始化为在数组中的索引值(indgen)
IDL> zeros = intarr(6);创建一个元素值都为0的数组 IDL> help,zeros
ZEROS INT = Array[6] IDL> print,zeros
0 0 0 0 0 0 IDL> print,float(zeros);转换为浮点数组
0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 IDL> index = indgen(6);创建索引数组 IDL> print,index
0 1 2 3 4 5 IDL> index = indgen(3,5) IDL> help,index
INDEX INT = Array[3, 5] IDL> print,index;建立多维索引数组
…… 此处隐藏:1217字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [学前教育]MC9S12XS256RMV1 xs128芯片手册4
- [学前教育]安东尼语录经典语录
- [学前教育]e级gps控制测量技术设计书
- [学前教育]苏教版2022-2022学年八年级下学期期末
- [学前教育]装修公司推广 营销
- [学前教育]家政服务合同(完整版)
- [学前教育]湖北省2016届高三联考语文试题
- [学前教育]爱立信无涯学习系统LTE题库1-LTE基础知
- [学前教育]揭秘大众柴油车作弊软件原理
- [学前教育]人才流失原因及对策分析
- [学前教育]房屋建筑施工工程劳务分包合同
- [学前教育]国际贸易实务试卷A卷09.6
- [学前教育]校园废品回收活动计划方案书范文格
- [学前教育]电大成本会计试题及答案
- [学前教育]大学物理实验 华南理工出版社 绪论答案
- [学前教育]爱丁堡产后抑郁量表
- [学前教育]液压冲击的危害、产生原因与防止方法(
- [学前教育]学生工作总结高一学生期中考试总结_020
- [学前教育]人民医院医疗废物管理规章制度大全
- [学前教育]阳光维生素的巨大抗癌潜能阅读题答案.d
- 马云在云锋基金江苏论坛闭幕式的发言
- 试论小学体育教育中的心理健康教育-教
- 语文A版一年级下册《语文乐园一》教学
- 2021四川大学物理化学考研真题经验参考
- [人教A版]2015-2016学年高中数学 第二
- 终端网点销售返利协议书
- 江苏省2015年眼科学主治医师青光眼考试
- 2017年部编人教版八年级语文上册教案
- 十一中学七年级英语上册Unit7Howmuchar
- 以赛促教的创新性实验教学机制建设实践
- 平凉市崆峒区2015七年级下生物期末试题
- 琶洲(地块五)A、B塔楼1、2#塔吊基础
- 一级医院工作制度与人员岗位职责
- 2018北京西城区高三二模理科数学试题及
- 炒股密码线技术 - 图文
- 职高学生生涯发展辅导教案
- 语文人教版四年级上册8 世界地图引出的
- 最新最新人教版二年级上册全册数学教案
- 2017高考英语全国2卷精彩试题(有问题
- 普通心理学笔记




