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

IDL 创建数组的更多相关文章

  1. android 创建数组

    一: private String[] data = new String[]{"Hello", "jike", "world"}; 二: ...

  2. 反射——反射API,使用反射创建数组

    反射API Java.lang.Reflect库 ①   Class类与Java.lang.Reflect类库一起对反射的概念进行支持. ②   java.lang包下: a)         Cla ...

  3. C语言: 创建数组的几种方法

    创建数组有三种方法 1.声明一个数组,声明时用常量表达式指定数组维数,然后可以用数组名访问数组元素 2.声明一个变长数组,声明时用变量表达式指定数组的维数,C99支持 3.声明一个指针,调用mallo ...

  4. PHP学习之中数组--创建数组【1】

    在PHP中数组的定义有三种写法,分别是: <?php //第一种方式是用关键字 array来创建的 $username = array("demo1","demo2 ...

  5. Powershell创建数组

    在Powershell中创建数组可以使用逗号. PS C:Powershell> $nums=2,0,1,2 PS C:Powershell> $nums 2 0 1 2 对于连续的数字数 ...

  6. Java 反射 Array动态创建数组

    Java 反射 Array动态创建数组 @author ixenos 注:java.lang.reflect.Array 是个反射工具包,全是静态方法,创建数组以多维数组为基准,一维数组只是特殊实现 ...

  7. javascript创建数组的所有方式【Array老师】

    1.采用直接量创建 var arr = [];//创建一个空数组 var arr2 = [1,2,3];//创建一个有三个元素的数组 2.采用构造函数创建 a.var arr1 = new Array ...

  8. IDL 使用数组

    1.下标方式 IDL> array=indgen(8) IDL> print,array 0 1 2 3 4 5 6 7 IDL> print,array[3] IDL> ar ...

  9. python创建数组的方法

    一 直接定义法: 1.直接定义 matrix=[0,1,2,3] 2.间接定义 matrix=[0 for i in range(4)] print(matrix) 二 Numpy方法: Numpy内 ...

随机推荐

  1. Java中死锁的简单例子及其避免

    死锁:当一个线程永远地持有一个锁,并且其他线程都尝试获得这个锁时,那么它们将永远被阻塞.比如,线程1已经持有了A锁并想要获得B锁的同时,线程2持有B锁并尝试获取A锁,那么这两个线程将永远地等待下去. ...

  2. CAS单点登陆 SSO

    什么是单点登陆 SO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制.它是目前比较流行的企业业务整合的解决方 ...

  3. Java实现猜字母游戏

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABRQAAAE9CAYAAAB6Cu4FAAAgAElEQVR4nOy995OUR77u2f/H3tjdey ...

  4. 201521123069 《Java程序设计》 第9周学习总结

    1. 本章学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. (1)使用try...catch语句捕获异常(try块后可跟一个或多个catch块,注意子类异常要放在父类异常前面, ...

  5. 201521123109《java程序设计》第十周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业 本次PTA作业题集异常.多线程 1. finally 题目4-2 1.1 截图你的提交结果( ...

  6. Ajax【介绍、入门、解决Ajax中文、跨域、缓存】

    什么是Ajax Ajax(Asynchronous JavaScript and XML) 异步JavaScript和XML Ajax实际上是下面这几种技术的融合: (1)XHTML和CSS的基于标准 ...

  7. .net异步性能测试(包括ASP.NET MVC WebAPI异步方法)

    很久没有写博客了,今年做的产品公司这两天刚刚开了发布会,稍微清闲下来,想想我们做的产品还有没有性能优化空间,于是想到了.Net的异步可以优化性能,但到底能够提升多大的比例呢?恰好有一个朋友正在做各种语 ...

  8. spring mvc 经常出现的错误

    spring mvc 经常出现的错误 spring3.0 和jdk 1.8不是很兼容.有时候会出现一些错误 建议使用spring 4.0和jdk1.8搭配使用 书籍 spring mvc 学习指南上面 ...

  9. JavaScript中DOM

    概念 什么是DOM 1. 什么是 DOM DOM 的全称是document object model 它的基本思想是将结构化文佳例如HTML xml解析成一系列的节点.就像一颗树一样. 所有的节点和最 ...

  10. 以下内容对于灵活修改textField中文本以及占位文本属性进行了完整的封装,加入项目中可以节约开发时间。

    textField对占位文本设置属性有限,在项目中需要改变占位文本的属性以及位置,需要自己对控件进行封装 封装方法如下: 在LDTextField.m 文件中: #import <UIKit/U ...