ちょっと私は2つの配列の共分散を計算する私の方法に問題があります。ここでRubyでメソッドを呼び出す方法は?
undefined method 'kovarianz' for main:Object
私のコードです:
rohstoff1 = "Eisen"
rohstoff2 = "Neodym"
daten_rohstoff1 = [1,2,3,4,5,6]
daten_rohstoff2 = [10,11,15,16,17,18]
module Enumerable
def mean
m = self.reduce(:+)/self.length.to_f
return m
end
def covariance (dat1,dat2)
kovar = dat1.inject(0) { |sum, x| sum + (x-dat1.mean) } *
dat2.inject(0) { |sum, x, i| sum + (x-dat2.mean) }/dat1.length.to_f
return kovar
end
end
puts "Kovarianz von #{rohstoff1} und #{rohstoff2} = " +
covariance(daten_rohstoff1,daten_rohstoff2)
質問を投稿する前に、コードを適切に書式設定してインデントしてください。実際に、そうするなら、あなたの質問に対する答えは直ちに明らかになります。 –