這裏是代碼:計算時,一些錯誤:紅寶石注入問題,結果不一樣
arr = [0.054954087385762455, 0.5093998626512432, 5.880466289995431, 0.8639141517665208, 0.2152490168404071]
sum = arr.inject {|sum, item| sum + item}
tmp = 0
arr.each do |pwr|
tmp = tmp + (pwr/sum - 0.2) ** 2
end
puts tmp # 0.42948006253339877
pp (arr.inject { |result, item| result + (item/sum - 0.2) ** 2}) # 0.4473023458029664
結果:
0.42948006253339877 = 0.4473023458029664
爲什麼?
是啊。從0開始修復:'arr.inject(0){...}' –