#!/usr/bin/ruby $a = 8e-4 $k = 10.0 def es(t) 6.11 * 10 ** (7.5 * t / (t + 237.3)) end def ew(t, ttw) tw = t - ttw es(tw) - $a * 1013.24 * ttw end def rh(t, ttw) e = ew(t, ttw) e / es(t) end ts = (0..10).to_a.map{|i| 40.0 - 5.0 * i} ttws = (0..20).to_a.map{|i| 0.5 * i} for t in ts as = ttws.map{|ttw| ' %3.0f' % (100.0 * rh(t, ttw)) } as.unshift('%3.0f: ', t) puts as.join end