在IDL中创建一个对数间隔数组



我正在寻找一种在IDL中生成对数间隔数组的方法。从L3 Harris地理空间网站;arrgen";并试图将其用于此目的。然而,

arrgen(1,215,/log)

返回错误:变量未定义:ARRGEN。

正确的方法是什么?提前感谢的帮助

首先定义您喜欢的日志库的下限和上限。为了简洁起见,我将使用基本$e$。

lowe = ALOG(low[0])
uppe = ALOG(upp[0])

其中lowupp是标量,即用户定义的数值(例如,示例中的1和215(。然后构造一个均匀间隔的n元素阵列,例如:

dinde = DINDGEN(n[0])*(uppe[0] - lowe[0])/(n[0] - 1L) + lowe[0]

其中CCD_ 4是标量整数。现在转换回线性空间得到:

dind = EXP(dinde)

这将是一个对数间隔的数组。如果要使用以10为基数的日志,请用ALOG代替ALOG10。如果你需要另一个基数,那么你可以使用基数的对数变化规则:

logbx=logcx/logb

最新更新