教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

IDL可视化入门与提高

来源:网络收集 时间:2026-08-28
导读: 第二章 IDL可视化入门与提高 2.1 交互式与编译式 2.1.1 交互式模式 交互式模式可以利用简洁有效的单行命令快速进行数据分析和实现可视化。在交互式模式下,命令在IDL提示符下输入,并且当用户按回车键时执行 输入如下命令: X = findgen(201)*0.1 ; 创建一个

第二章 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')

BYTE = Array[3] IDL> print,byte('ABC') 65 66 67

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字,全部文档内容请下载后查看。喜欢就下载吧 ……
IDL可视化入门与提高.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/591620.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)