【问题标题】:Creating a logarithmic spaced array in IDL在 IDL 中创建对数间隔数组
【发布时间】:2022-01-08 22:37:55
【问题描述】:

我正在寻找一种在 IDL 中生成对数间隔数组的方法。 在 L3 Harris Geospatial 网站上,我遇到了“arrgen”,并试图将其用于此目的。然而,

arrgen(1,215,/log)

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

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

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: arrays idl


【解决方案1】:

首先定义您喜欢的日志库的下限和上限。为简洁起见,我将使用 base $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]

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

dind = EXP(dinde)

这将是一个对数间隔的数组。如果您想使用 base-10 日志,请将 ALOG 替换为 ALOG10。如果您需要另一个基数,则可以使用由以下给出的基数规则的对数变化:

logb x = logc x / logc b

【讨论】:

    猜你喜欢
    • 2014-01-25
    • 1970-01-01
    • 2022-01-05
    • 2015-08-31
    • 2018-05-30
    • 2015-05-23
    • 1970-01-01
    • 2015-11-04
    • 1970-01-01
    相关资源
    最近更新 更多