2つの数値の間にn個の対数間隔を見つけることを試みています。2つのエンドポイント間にn個の対数間隔を見つける
例:機能の logDiv(10、10000、3)10が出発点、10000終点、及び間隔の3つの数であり、Iは、次の出力を取得したい: (* { 10、100、1000年、10000} *)
私が試してみました何:
function logInterval(total_intervals, start, end) {
var index, interval, result = [];
for (index = 0; index < total_intervals; index++) {
interval = (index/total_intervals * Math.log((end - start) + 1) - 1 + start);
result.push(interval);
}
return result;
}
var intervals = logInterval(5, 1, 500);
https://jsfiddle.net/qxqxwo3z/
をこれは私がスタック交換Mathematicaで見つかった後の溶液の私の(貧しい)の理解に基づいていました:
logspace [increments_, start_, end_] := Module[{a}, (
a = Range[0, increments];
Exp[a/increments*Log[(end - start) + 1]] - 1 + start
)]
誰かがこれで私を助けることができるしてください?私の上記の試みに従う必要はなく、私が試したことを説明するだけです。
それ最後のものが対数スケールの一部でないという事実を除いて良いです、5,1,500については、私は最後の2つとして144.23と500を得ます –
私は '144.2699905907214'と' 500'を取得します。最初と最後の項目は常に指定された値です。 –
あなたが正しい方向に考えるのに役立ちましたが、より良い解決策が見つかりました:https://jsfiddle.net/qxqxwo3z/1/答えをありがとう! –