情報科学概論 Aクラス 宿題 2002.7.2

学生番号が奇数の場合

三角関数sin x の「平均値」は0になることはすぐに分かるで あろう.では,sin2 x の平均値はいくらになるか.

学生番号が偶数の場合

半径Rの円の周の長さが2πRであることを利用して,定積分によ り円の面積を求めてみよ.使用方法は,コマンドライン引数として半径を数値で与えるものと する.(SR2の公式は使用でき ない)

上記平均値もしくは面積を求めるスクリプトを作成し, s0240**-7-2.rb という名前としてメールに添付して提出すること.


解答例(奇数)


include Math
n = ARGV[0].to_i

x0 = 0.0
x1 = PI
delta = (x1 - x0) / n
integral = 0.0

def f(x)
  sin(x)**2
end

for xx in 0..n-1
  integral += (f((xx + 1) * delta + x0) + f(xx * delta + x0)) * delta / 2
end

print "Average of squared sin(x) = ", integral / (x1 - x0), "\n"

解答例(偶数)


include Math
r = ARGV[0].to_f
n = 10

delta = r / n
integral = 0.0

def f(x)
  2 * PI * x
end

for xx in 0..n-1
  integral += (f((xx + 1) * delta) + f(xx * delta)) * delta / 2
end

print "Area of circle with radius ", r, " = ", integral, "\n"


三角関数cos x の「平均値」は0になることはすぐに分かるで あろう.では,cos2 x の平均値はいくらになるか. 平均値を求めるスクリプトを作成し, s0240**-7-2.rb という名前としてメールに添付して提出すること.


解答例(奇数)


include Math
n = ARGV[0].to_i

x0 = 0.0
x1 = PI
delta = (x1 - x0) / n
integral = 0.0

def f(x)
  cos(x)**2
end

for xx in 0..n-1
  integral += (f((xx + 1) * delta + x0) + f(xx * delta + x0)) * delta / 2
end

print "Average of squared cos(x) = ", integral / (x1 - x0), "\n"


Back