我有整數從[0..255]的數組。重新映射的整數數組
我想修改數組,使仍然有256個數字,但數字從100開始並移動到255,這意味着許多整數將重複(即[100,100,101,101,102 ...])
有關我如何做到這一點的任何想法?對不起,我知道這可能是一個簡單的問題,但現在真的讓我難以置信......
謝謝!
注意:python,僞代碼或javascript提供的解決方案將會很好。 =)
我有整數從[0..255]的數組。重新映射的整數數組
我想修改數組,使仍然有256個數字,但數字從100開始並移動到255,這意味着許多整數將重複(即[100,100,101,101,102 ...])
有關我如何做到這一點的任何想法?對不起,我知道這可能是一個簡單的問題,但現在真的讓我難以置信......
謝謝!
注意:python,僞代碼或javascript提供的解決方案將會很好。 =)
的Python:
RANGE_SIZE = 255-100
for index in range(256):
array[index] = 100 + int(RANGE_SIZE * float(index)/255.0)
健全性檢查:
這是線性插值。乘法和除法本質上將指數範圍轉換爲從0.0到1.0的線性斜坡。這是作爲一個規模適用於所需的值的範圍寬度,並添加到最小值。
謝謝你的信息添加...我知道必須有這個術語,但我不知道那是什麼。 – 2012-02-18 01:17:29
程序員需要學習數學的真正原因是,他們可以快速而準確地解釋這樣的問題。那麼,要麼或找出自己的算法。 – 2012-02-18 05:03:48
如果你確切地知道你想要的數字,爲什麼你需要修改一個現有的數組,爲什麼不只是使你想要的數組?實際的Python:
nums = [int(i*156.0/256+100) for i in range(256)]
這裏有一種方法:
n = 256
nf = float(n - 1)
xs = range(n)
(min, max) = (100, 255)
[min + int(i/nf * (max - min)) for i in xs]
給出:
[100,100,101,101,102,103,103,104,104,105,106, 106,107,107,108,109,109,110,110,111,112,112,113,113,114,115,115,116,117,117,118,118,119,120,120,121, 121,122,123,123,124,124,125,126,126,127,127,128,129,129,130,131,131,132,132,133,134,134,135,135,136, 137,137,138,138,139,140,140,141,141,142,143,143,144,144,145,146,146,147,148,148,149,1 49,150,151,151,152,152,153,154,154,155,155,156,157,157,158,158,159,160,160,161,162,162,163,163,164, 165,165,166,166,167,168,168,169,169,170,171,171,172,172,173,174,174,175,175,176,177,177,178,179,179, 180,180,181,182,182,183,183,184,185,185,186,186,187,188,188,189,189,190,191,191,192,193,193,194,194, 195,196,196,197,197,198,199,199,200,200,201,202,202,203,203,204,205,205,206,206,207,208,208,209,210, 210,211,211,212,213,213,214,214,215,216,216,217,217,218,219,219,220,220,221,222,222,223,224,224,225, 225,226,227,227,228,228,229,230,230,231,231,232,233,233,234,234,235,236,236,237,237,238,239,239,240, 241,242,242,243,244,244,245,245,246,247,247,248,248,249,250,250,251,251,252,253,253,254,255]
你是什麼意思**修改陣列y **:生成新的隨機數字?用新的隨機數替換舊的數字低於100?按升序生成新號碼? – sch 2012-02-18 01:08:03
要用於填充新的陣列的標準是有點不清楚 – slezica 2012-02-18 01:09:29
你想要哪個號碼重複?這些數字應該有什麼樣的模式? – 2012-02-18 05:02:51