我正在寻找一种在IDL中生成对数间隔数组的方法。从L3 Harris地理空间网站;arrgen";并试图将其用于此目的。然而,
arrgen(1,215,/log)
返回错误:变量未定义:ARRGEN。
正确的方法是什么?提前感谢的帮助
首先定义您喜欢的日志库的下限和上限。为了简洁起见,我将使用基本$e$。
lowe = ALOG(low[0])
uppe = ALOG(upp[0])
其中low
和upp
是标量,即用户定义的数值(例如,示例中的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/log