Sha256: 9a1aa35c3de5fa320f1cd4192b538fb803e50beb25cc396090ed78837796a544

Contents?: true

Size: 729 Bytes

Versions: 12

Compression:

Stored size: 729 Bytes

Contents

module Statistics
  module Distribution
    class Uniform
      attr_accessor :left, :right

      def initialize(a, b)
        self.left = a.to_f
        self.right = b.to_f
      end

      def density_function(value)
        if value >= left && value <= right
          1/(right - left)
        else
          0
        end
      end

      def cumulative_function(value)
        if value < left
          0
        elsif value >= left && value <= right
          (value - left)/(right - left)
        else
          1
        end
      end

      def mean
        (1/2.0) * ( left + right )
      end
      alias_method :median, :mean


      def variance
        (1/12.0) * ( right - left ) ** 2
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
ruby-statistics-2.1.2 lib/statistics/distribution/uniform.rb
ruby-statistics-2.1.1 lib/statistics/distribution/uniform.rb
ruby-statistics-2.1.0 lib/statistics/distribution/uniform.rb
ruby-statistics-2.0.5 lib/statistics/distribution/uniform.rb
ruby-statistics-2.0.4 lib/statistics/distribution/uniform.rb
ruby-statistics-2.0.3 lib/statistics/distribution/uniform.rb
ruby-statistics-2.0.2 lib/statistics/distribution/uniform.rb
ruby-statistics-2.0.1 lib/statistics/distribution/uniform.rb
ruby-statistics-2.0.0 lib/statistics/distribution/uniform.rb
ruby-statistics-1.0.2 lib/statistics/distribution/uniform.rb
ruby-statistics-1.0.0 lib/statistics/distribution/uniform.rb
ruby-statistics-0.5.0 lib/statistics/distribution/uniform.rb