2013-05-08 101 views
0

我有一個C#程序,要求用戶輸入4個值。 它們是:線性方程

MinIndex,MaxIndex,MINVALUE,MaxValue的

我希望能夠以確定[MinIndex MaxIndex]範圍內的任何給定的索引值。 索引的範圍不會總是相同的,所以我需要先找出它並以某種方式使用該值。

舉個例子說,

 
MinIndex=250, MaxIndex=750 the range is 500; 
MinValue=0.025, MaxValue=0.254 range is 0.229. 

如果我做valueRange/indexRage我得到0.000458。

這個數字使我可以採取任何指數說「267」並乘以0.000458,我會得到該指數的價值。

然而這是從0-500工作。我如何使用我的原始索引說[250-750],並有一個單一的值,我可以乘以獲得該值的指數,即[298 *?]

該計算是線性的,因爲我知道值最大指數和最小指數的價值我知道有一種方法來解決其餘的問題。

很抱歉,如果這是一個愚蠢的問題,但數學是不是我的串點

三江源的一個提前

回答

1

的公式爲:

(值 - MINVALUE)/(的MaxValue-MINVALUE)=(索引 - MinIndex)/(MaxIndex - MinIndex)

求解對於值:

value = (MaxValue-MinValue) * ((Index-MinIndex)/(MaxIndex-MinIndex)) + MinValue

1

減去MinIndex從指數除以索引範圍給予0之間的值1.這表示您到達MaxIndex的途中距離MinIndex有多遠。

用這個比率乘以數值範圍並添加MinValue來獲得結果。

這被稱爲線性內插