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 x = [ 7 , 6 , 4 , 2 , 5 ] y = [ 24 , 20 , 14 , 8 ,12 ] sr_xy = sr2( x , y ) printf( "配列xとyの残差平方和は%fです\n" , sr_xy )