1、编写一个IDL过程Exp_ Controlpro随机生成一个值在-11的浮 点型数组Arr大小为200 200。以02为间隔将Arr分成10个等级从小到大依次按顺序循环输出每一个等级元素的个数 并定于关键字传出每一等级的元素 个数及其下标索引位置数组。2、在命令行中调用该过程并help查询传出的数据。
Exp_Control.pro代码:
PRO Exp_Control, Out_Count=Out_Count, Out_Ind=Out_Ind
;设置随机种子
RANDOMU, seed=0
;生成200*200的随机值矩阵
Arr = RANDOMU(seed, 200, 200) * 2 - 1
;以0.2为间隔将Arr分成10个等级
lev = HISTOGRAM(Arr, NBINS=10, MIN=-1, MAX=1, /COUNT, /LOCATION)
;循环输出每一个等级元素的个数
FOR i=0, 9 DO PRINT, 'Level ', i, ':', lev[i]
;传出每一等级的元素个数及其下标索引位置数组
Out_Count = lev
Out_Ind = HISTOGRAM(Arr, NBINS=10, MIN=-1, MAX=1, /LOCATION)
END
在命令行中调用该过程:
IDL> Exp_Control, Out_Count=c, Out_Ind=i
查询传出的数据:
IDL> HELP, c, i
C LONG = Array[10]
I LONG = Array[10, 2]
``
原文地址: https://www.cveoy.top/t/topic/dqQx 著作权归作者所有。请勿转载和采集!