IDL笔记:变量

IDL笔记:变量


发布日期: 1970-01-01 更新日期: 2017-01-23 编辑:xuzhiping 浏览次数: 4125

标签:

摘要: 在诸如 C 和 Fortran 等高级语言中,程序源代码中的数据类型说明(如 C 中的“int” 以及 Fortran 中的 integer)提示用户怎样在程序中定义变量。在程序运行时,变量的类型保持不变。而 IDL 则提供了更为灵活的数据类型的定义方法,它允...

在诸如 C 和 Fortran 等高级语言中,程序源代码中的数据类型说明(如 C 中的“int” 以及 Fortran 中的 integer)提示用户怎样在程序中定义变量。在程序运行时,变量的类型保持不变。而 IDL 则提供了更为灵活的数据类型的定义方法,它允许用户在交互式或编 译模式下均可以创建新的变量。 在任何时候,IDL 都允许用户创建新的变量,或重新定义已有的变量。

var = 3.1
help, var
var = 100
help, var

在 IDL 中创建新变量的灵活性也给其程序带来了很大的灵活性。但这种灵活性也意味着,用户需要在程序中密切跟踪所有变量的类型。 IDL 是面向矩阵的语言,因此任何有效的 IDL 变量(包括数组类数据类型和非数字 类数据类型)都可以作为多维数组的元素。 不管是在的 IDL 的命令行中,还是在 IDL 的程序中,使用“help”命令始终是帮助跟踪变量类型和大小的有效途径。对于标量类变量,“help”命令将显视自变量的名称、类型和值。 IDL 自身提供了变量转换的函数,可以将变量从一种类型转换到另外一种类型,而保持其值不变(除非在整型转换过程中变量被截断)。

var = 255
var = byte(var)
help, var
var += 1
var = byte(var)
help, var

上面发生了截断。 当“fix”函数使用于浮点型变量向整型变量转换时,将会发生截断现象。

arr = [1.1, 2.2, 3.3, 6.6, 7.7, 8.8]
tmp = fix(arr)
print, tmp

使用 round、floor 和 ceil 函数可以更好的控制浮点型变量向整型变量的转换。

tmp1 = round(arr)
tmp2 = floor(arr)
tmp3 = ceil(arr)
print, tmp1
print, tmp2
print, tmp3

字符串变量 (string) 可以被转换成数字类型:

vara = '3.2'
varb = '123ABC'
print, float(vara)
print, float(varb)

IDL 是一个擅长于处理矢量或数组数据的软件,所以有大量的IDL 命令用于创建不同数据类型的矢量和数组。

arr = bytarr(5,5)
print,arr
vect = findgen(10)
print,vect

经常见到的整形变量的除法的问题。

result=12/5
print, result
result = 12.0 / 5
print, result

关注公众号
获取免费资源

随机推荐


Copyright © Since 2014. 开源地理空间基金会中文分会 吉ICP备05002032号

Powered by TorCMS

OSGeo 中国中心 邮件列表

问题讨论 : 要订阅或者退订列表,请点击 订阅

发言 : 请写信给: osgeo-china@lists.osgeo.org