IDL中创建矢量或数组(二)

     假设打算在数组的第二和第三个元素之间添加另外一个元素,数组下标可以帮助完成。数组下标的上界和下界被冒号隔开。例如,指定上述矢量的前三个元素,如下所示:

    ENVI>print, vector(0:2)

           1         2        3

    注意,在IDL中矢量和数组下标的起始值是0,而不是1,并且引用矢量下标时使用圆括弧以示区别。这使得有时很难将一个函数调用和一个数组下标引用区别开来。为了解决这个问题,IDL允许使用方括弧来引用数组下标。也就是说,当运行IDL5.0以上版本时,可以键入:

    ENVI>print, vector[0:2]

    本文使用方括弧引用下标,以避免同函数调用相混淆。倘若正在使用IDLIDL4.x版本,要运行此命令就得用圆括弧代替方括弧。

    要用数组下标将另一个元素插入第二和第三个元素之间,可键入:

    ENVI>vector=[vector[0:1],5,vector[2:3]]

    ENVI>print, vector

         1   2   5    3   4

    矢量也可用上表中讲到的数组创建函数。例如,建立一个值在050之间的6个元素浮点矢量,可键入:

    ENVI>vector=FIndGen(6)*10

    ENVI>print,vector

         0.000000  10.0000  20.0000  30.0000 40.0000  50.0000

    数组也可以在IDL命令行中建立。例如,可以建立一个两行三列的数组,如下所示:

    ENVI>array=[[1,2,3],[4,5,6]]

    ENVI>print, array

            1   2   3

            4   5   6

    注意,这等同于先建立一个矢量,然后用reform命令将此变形为一个三行二列的数组,如下所示:

    ENVI>vector=IndGen(6)+1

    ENVI>array=reform(vector,3,2)

    ENVI>print, array

        这表明矢量和数组均是以行的顺序存储在IDL中的。这一点在编写IDL程序的过程中非常重要,因为将经常用到IDL这种数据存储方式的优势。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值