Impro

来自cluster
Shen讨论 | 贡献2015年1月1日 (四) 13:46的版本 →‎数组
跳到导航 跳到搜索

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

通用

  • l,pwd,cwd,一些类UNIX命令,用spawn实现

数组

  • range
生成一个分界的数组 (有较多功能)

print, range(0,1,5)

  • 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_stats,Im_mean,Im_median,Im_mean,Im_max
求均值,中值,等基本统计量,但是可以剔除一些可疑值,调用的idlutils中的djs_iterstat

结构

  • IM_STRUCT_TRIMTAGS
调整结构数组

字符

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

文件读写

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

天文

  • ASTROCONST()天文上常用的常数,IM_Lsun (太阳光度,ergs^-1),IM_light(光速)

a=astroconst(/mks);国际单位制

help,a

  • BELL_MASS()
计算恒星质量 Bell et al. color-based method.
  • NED_WEBGET_BASIC (测试没有成功)
从NED获取文件

IDL> ned_webget_basic, 'ngc5194', b

IDL> struct_print, b

光谱相关

  • MAKE_WAVE
根据文件头(必须是mrdfits读入的主文件头,下面的iforage的不行),生产一个光谱的波长数组,经过测试可适用于SDSS的光谱,生产的是对数波长
  • im_filtermag
调用kcorrect中的filter文件,计算光谱积分后得到的各个波段的星等。参见由光谱到星等
  • iforage
将光谱的文件头读入成一个结构,很方便
  • K_LAMBDA()
常用消光曲线
  • BALMER_TEMPERATURE
Compute the temperature dependence of the Balmer decrement

画图

  • IM_LINEID_PLOT
标志谱线用
  • IM_PS2HTML
将ps图转换成PNG文件,然后生成一个网页
  • IM_HESSPLOT
生成一个密度图
  • GANG_PLOT_POS 和 pagemaker
画图用的,类似于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)

  • SFR_UNITS
SFR的单位(太阳质量每年),画图的时候用
  • WKILL,关掉所有的画图窗口,wdelete只能关闭指定窗口