私は簡単な質問があります。簡単な数学の質問:
私は2つの値MINとMAXを持っています。それから私は0と+無限大の間にあることができる一連の値(X)を持っています。
ここでは、Xの各値xをMINからMAXの範囲にマップするアルゴリズムを用意したいと思います。
MAX + (MIN - MAX)*exp(-k*x)
k
の方法を決定するレートの要因は次のとおりです。
私は簡単な質問があります。簡単な数学の質問:
私は2つの値MINとMAXを持っています。それから私は0と+無限大の間にあることができる一連の値(X)を持っています。
ここでは、Xの各値xをMINからMAXの範囲にマップするアルゴリズムを用意したいと思います。
MAX + (MIN - MAX)*exp(-k*x)
k
の方法を決定するレートの要因は次のとおりです。
MIN + ATAN(x)は*(MAX-MIN)/(PI/2)
あなたは単調増加関数をしたいと仮定すると、すぐにマッピングがMAXに近づきます。あなたが変えるために必要がある場合は/(1 + X)
-
MAX +(MAX MIN):ここで
これは、浮動小数点精度が限られているため、非常に迅速に「MAX」になります。 –
@larsmans:次に 'k'を小さくする。 –
十分に良い。編集されたバージョンの+1。 –
だけで、基本的な算術演算を(なしatan
またはexp
)を使用しています一つですこの等角写像の形状は、
MAX +(MIN - MAX)を試みる/(1つの+ F(X))任意の正の関数f(例えばfの(X)= KX又はF(X)=√X又は...)のため
を。
大抵の場合はい、しかしそれは非決定論的である可能性があります –
私はあなたが1対1のマップを望むと思います。そうでない場合、答えは簡単です。 –
どのようにマッピングするかによって異なります。 'atan'、負の指数関数、および他のよりエキゾチックなマッピングを使うことができます。 –