2011-08-08 3 views
4

範囲の値を1〜320に変換する必要があります。範囲は500〜2500の範囲内の同等の値です.VBScriptでそれを行う必要があります。VBScriptのある値の範囲を別の値にマップする

map()と同じような機能がありますか?この特定の使用例では、外部ライブラリを含めることはできません。

+0

を使用してb1b2にの範囲に変換したいです?あなたは@ phimuemueの答えのような線形関数を探していますか? –

答えて

7

1から320の間の任意の数値を500から2500の間の対応する数値に変換し、1が500に対応し、320が2500に対応するようにすることを意味しますか?場合、一般的には

y = ((x-1)/319) * 2000 + 500 

:とy(1〜320の間)(500〜2500)の目標数を元の数をすることxがあることしてみましょう:

もしそうなら、あなたは次のようにそれを行うことができますあなたはa2の範囲a1を持っていて、「同等の値」とはどういう意味ですか

y = ((x - a1)/(a2 - a1)) * (b2 - b1) + b1 
+0

ありがとう、私は答えを見た今これを尋ねるのために少し愚かな気がする:) – SimonJGreen

関連する問題