読者です 読者をやめる 読者になる 読者になる

自動解答系の作り方(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]}

となります.