def sum( x )
a = 0
x.length.times { |i|
a += x[ i ]
}
return a
end
def sum2( x )
a = 0
x.length.times { |i|
a += x[ i ] * x[ i ]
}
return a
end
def sum_xy( x , y )
a = 0
x.length.times { |i|
a += x[ i ] * y[ i ]
}
return a
end
def sr( x )
a = sum2( x ) - sum( x ) ** 2 / x.length.to_f
return a
end
def sr2( x , y )
a = sum_xy( x , y ) - sum( x ) * sum( y ) / x.length.to_f
return a
end
def reg_a( x , y )
a = sr2( x , y ) / sr( x )
return a
end
x = [ 7 , 6 , 4 , 2 , 5 ]
y = [ 24 , 20 , 14 , 8 ,12 ]
a = reg_a( x , y )
printf( "配列xとyを回帰分析した時の傾きは%f\nです" , a )