转载自董彦卿老师~~
随机数,是数据处理和分析时经常要用到的,也有一篇文章《随机数的生成》对随机数产生的原理和方法做了简单概述。
IDL中产生随机数主要有RANDOMU和RANDOMN两个函数,分别生成均匀分布和正态分布的随机数,参考下各自的帮助,能够生成满足通常状态下任意要求的随机数。
IDL> ;生成5个元素的[0,1]范围内随机数组,注意undefinevar是个未定义变量
IDL> print,randomu(undefinevar,5)
0.758868 0.0292860 0.425083 0.375357 0.288495
IDL> ;生成4*5的[0,1]范围内随机数组
IDL> print,randomu(undefinevar,5,4)
0.344222 0.732798 0.209895 0.307210 0.534765
0.214072 0.439286 0.681666 0.0401281 0.442817
0.0882233 0.369515 0.800266 0.431608 0.0122711
0.992980 0.564629 0.920463 0.850796 0.331296
IDL> ;生成2*3的[0,100]范围内浮点随机数组
IDL> print,randomu(undefinevar,3,2)*100
13.9903 73.1388 7.30314
40.8773 4.95458 25.9772
IDL> ;生成2*3的[0,255]范围内的整型随机数组
IDL> print,fix(randomu(undefinevar,3,2)*255)
85 216 247
181 180 83
IDL> ;生成2*3的[0,2(32次方)-1]范围内的长整型随机数组
IDL> print,randomu(undefinevar,3,2,/long)
1945085313 713527705 771678015
128722589 2010134861 1909949562
IDL> ;生成[-1,1]范围内的4元素随机数组
IDL> print,RANDOMN(undefinevar,4)
0.578943 0.561237 -0.391116 -0.0516022
IDL> ;生成[-1,1]范围内的3*4随机数组
IDL> print,RANDOMN(undefinevar,4,3)
0.770915 0.483093 -0.668937 -0.855310
-0.939424 1.94780 -0.301939 -0.316978
-0.777380 -0.521554 1.52465 0.473643
链接地址:http://blog.sciencenet.cn/blog-344887-499870.html
https://blog.sciencenet.cn/blog-587102-1166289.html
上一篇:
ubuntu权限问题下一篇:
[转载]IDL中全局变量的处理