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