IDL 创建数组

1.赋值创建

通过方括号[]赋值创建数组,示例代码如下

IDL> arr=[1,2,3]
IDL> help,arr
ARR             INT       = Array[3]
IDL> arr=[[1,2,3],[4,5,6]]
IDL> help,arr
ARR             INT       = Array[3, 2]

2.函数创建

利用数组创建函数可创建不同类型或维数的数组。

数组创建函数
数据类型 创建全0数组 创建索引数组
字节 bytArr() bindgen()
16位有符号整数 intarr() indgen()
32位有符号长整数 longarr() lindgen()
64位有符号整数 long64arr() l64indgen()
16位无符号整数 uintarr() uindgen()
32位无符号长整数 ulongarr() ulindgen()
64位无符号整数 ulong64arr() ul64indgen()
浮点数 fltarr() findgen()
双精度浮点数 dblarr() dindgen()
复数 complexarr() cindgen()
双精度复数 dcomplexarr() dcindgen()
字符串 strarr() sindgen()
指针 ptrarr  
对象 objarr()  

例如创建3x3初始值为零的字节类型数组,输入:

IDL> arr=bytarr(3,3)
IDL> help,arr
ARR             BYTE      = Array[3, 3]
IDL> print,arr
   0   0   0
   0   0   0
   0   0   0

创建一个含有6个元素的浮点类型数组,初始值为从0到5,代码如下:

IDL> arr=findgen(6)
IDL> help,arr
ARR             FLOAT     = Array[6]
IDL> print,arr
     0.000000      1.00000      2.00000      3.00000      4.00000      5.00000

创建特定类型或数值的数组可以用MAKE_ARRAY()函数,调用格式为

Result=MAKE_ARRAY([D1[,...,D8]],[,/INDEX][,DIMENSION=vector][,/NOZERO][,SIZE=vector][,TYPE=type_code][,VALUE=value])

IDL> arr=make_array(2,2,/integer,/index)
IDL> print,arr
       0       1
       2       3
IDL> arr=make_array(2,2,/integer,value=8)
IDL> print,arr
       8       8
       8       8
原文地址:https://www.cnblogs.com/wintertone/p/6590424.html