Impro

来自Shiyin's note
Shen讨论 | 贡献2015年1月1日 (四) 12:21的版本
跳到导航 跳到搜索

John Moustakas写的一系列IDL code,有很多有用的程序。参考文件[1]

通用

数组

  • findex
计算一个浮点的位置,可用于插值,例子
 u=randomu(iseed,200000) & u=u(sort(u)) 
 v=randomu(iseed,10)   
 fx=findex(u,v);计算v这个数字(数组)在排序之后的u数组中间的位置
 v2=interpolate(u,fx)插值 ;interpolate是IDL内置的插值函数
 print,v,v2 ;可以看到v2几乎等于v
  • rebinw
将数组分bin,功能比较强大。
  • sort_nd
多维数组排序

统计

  • Im_mean,Im_median,Im_mean,Im_max
求均值,中值,等基本统计量,但是可以剔除一些可疑值,调用的idlutils中的djs_iterstat
  • IM_MEDXBIN
类似于My IDL program中的binxy

结构

  • IM_STRUCT_TRIMTAGS
调整结构数组

字符

  • SIGFIG 把一个浮点数组转换为字符数组,并保留指定精度

文件读写

  • READFAST
可以快速的读入逗号分隔的文件,但是只能是浮点或者双精度数

光谱相关

  • MAKE_WAVE
根据文件头,生产一个光谱的波长数组,经过测试可适用于SDSS的光谱,生产的是对数波长


  • im_filtermag
调用kcorrect中的filter文件,计算光谱积分后得到的各个波段的星等。参见由光谱到星等
  • BALMER_TEMPERATURE
Compute the temperature dependence of the Balmer decrement
  • BELL_MASS()
计算恒星质量 Bell et al. color-based method.

画图

  • IM_LINEID_PLOT
标志谱线用
  • IM_PS2HTML
将ps图转换成PNG文件,然后生成一个网页
  • GANG_PLOT_POS
画图用的,类似于multiplot,但是好像更简单。用法
 struct=gang_plot_pos(nrow,ncol,col,row, [XTICKFORMAT=,YTICKFORMAT=,                       OFFSET=,SIZE=, /POSITION_ONLY]
 plot,findgen(10),  _EXTRA=gang_plot_pos(2,1,0)  plot,findgen(10)^2,_EXTRA=gang_plot_pos(2,1,1)