2010-12-08 13 views
5

私は簡単な質問があります。簡単な数学の質問:

私は2つの値MINとMAXを持っています。それから私は0と+無限大の間にあることができる一連の値(X)を持っています。

ここでは、Xの各値xをMINからMAXの範囲にマップするアルゴリズムを用意したいと思います。

MAX + (MIN - MAX)*exp(-k*x) 

kの方法を決定するレートの要因は次のとおりです。

+0

大抵の場合はい、しかしそれは非決定論的である可能性があります –

+3

私はあなたが1対1のマップを望むと思います。そうでない場合、答えは簡単です。 –

+2

どのようにマッピングするかによって異なります。 'atan'、負の指数関数、および他のよりエキゾチックなマッピングを使うことができます。 –

答えて

4

MIN + ATAN(x)は*(MAX-MIN)/(PI/2)

3

あなたは単調増加関数をしたいと仮定すると、すぐにマッピングがMAXに近づきます。あなたが変えるために必要がある場合は/(1 + X

-

MAX +(MAX MIN):ここで

+2

これは、浮動小数点精度が限られているため、非常に迅速に「MAX」になります。 –

+2

@larsmans:次に 'k'を小さくする。 –

+1

十分に良い。編集されたバージョンの+1。 –

6

だけで、基本的な算術演算を(なしatanまたはexp)を使用しています一つですこの等角写像の形状は、

MAX +(MIN - MAX)を試みる/(1つの+ F(X))任意の正の関数f(例えばfの(X)= KX又はF(X)=√X又は...)のため

を。