#!/usr/koeki/bin/ruby #coding: euc-jp include Math def trapezoid(x1, x2, d) x = x1 n = (x2 - x1) / d s = 0 1.upto(n - 1) do |i| x += d s += f(x) end int = d * ((f(x1) + f(x2)) / 2 + s) end def f(z) 1 / sqrt(2 * PI) * E ** (-1 * z ** 2 / 2) end x1 = 0.0 x2 = 5.0 n = 500.0 s = (x2 - x1) / n x1.step(x2, s) do |z| printf("%5.2f \t %6.4f\n", z, trapezoid(x1, z, s)) end