自動解答系の作り方(17)
センターに限らず「関数のグラフで囲まれた図形」の面積は入試における頻出事項ですが,「その図形」の定義は数学にはなく,出題者と解答者との曖昧さのシンパシーによって維持されたもので,複数の解釈ができる問題も散見されます.
ということで,今回のシステムで採用する定義について述べておきます.以下,関数はRからRへの連続関数とし,グラフはx,yを流通座標とするR^2の部分集合とします.
まず,関数の個数が2の場合,これは簡明で,それらをf1,f2とし,f1(x)=f2(x)を満たす相異なる実数の個数が
・1以下のときは,「その図形」は空集合
・2以上のときは,そのうち値の最小,最大のものをa,bとおき,「その図形」に(x,y)が属するというのは
a<x<b ∧ (y-f1(x))(y-f2(x))<0
のこととします.
Mathematicaのコードでは
rangex[{C1_, C2_}] := Reduce[Exists[List[sol1, sol2], sol1 < x < sol2, (C1[[-1]] == C2[[-1]] /. x :> sol1) && (C1[[-1]] == C2[[-1]] /. x :> sol2)], Reals]; area[{c1_, c2_}] := Integrate[ Boole[rangex[{c1, c2}] && (y - c1[[-1]]) (y - c2[[-1]]) < 0], {x, -Infinity, Infinity}, {y, -Infinity, Infinity}];
といった具合で
In[2]:= area /@ { {y == x^2 + 1, y == 0}, {y == x^2, y == x - x^2}, {y == x^3, y == x}, {y == x (x^2 - 1) (x^2 - 2)^2, y == 0}, {y == Abs[-3 + (3 x^2)/4] - 2, y == x}, {y == Sqrt[1 - x^2], y == 1 - x}, y == Y /. Solve[x^2 + x Y + Y^2 == 1, Y]} Out[2]= {0, 1/24, 1/2, 3/2, 208/27, 1/4 (-2 + \[Pi]), (2 \[Pi])/Sqrt[3]}
となります.