質問: 合成関数についての質問です. 合成関数についての質問です. f(x)=x^2,g(x)=√(x-1)の時、(f°g(x))を求めよという問題がありました. この場合(f°g(x))=x-1ということは理解できているのですが、この(f°g(x))の定義域を考える場合 g(x)の値域が合成関数(f°g(x))の定義域と習った記憶があるのですが、定義域はx>=1と答えにありました. 私の記憶が間違っていなければx>=0になると思っていたのですがこの考え方自体が間違っているのでしょうか? 無理関数、分数関数等では考え方が違うのでしょうか? どなたかご存知の方回答の方よろしくお願いします.
回答: 関数f(x)の定義域とは「f(x)を計算することのできるxの値の範囲」を指します。 合成関数(f°g)(x)の場合も同様です。 関数(f°g)(x)の定義域とは「(f°g)(x)を計算する事ができるxの値の範囲」です。 なので(f°g)(x)の定義域を考える場合、どんなxの値なら(f°g)(x)が計算できて、 どんなxの値なら(f°g)(x)を計算できないのかという事を考えれば良いんです。 合成関数(f°g)(x)は、f(g(x))と書くこともできます。 この形をよく眺めてみると、(f°g)(x)の計算手順は (1) まずg(x)を計算 (2) (1)の計算結果を、f(x)のxに代入して計算 という風になることが分かります。 なので手順(1), (2)を計算できるxの範囲というものを考えていきます。 [1] 手順(1)を計算できるxの範囲 手順(1)はg(x)の計算をします。なので手順(1)を計算できるxの範囲は 「g(x)の定義域」となります。 質問文の例の場合、g(x) = √(x-1)なので、 手順(1)を計算できるxの範囲は1 ≦ xです。 [2] 手順(2)を計算できるxの範囲 合成関数(f°g)(x)では、手順1の計算結果g(x)を、f(x)のxに代入します。 なのでf(x)の定義域内に「g(x)の計算結果」が収まるようにしないといけませんよね。 (例えばf(x)の定義域が1 ≦ x ≦ 3なら、 f(g(x))は1 ≦ g(x) ≦ 3という条件を満たす必要があります) なのでそういう風に収まるようなxの範囲を求めます。 これが「手順(2)を計算できるxの範囲」です。 質問文の例の場合、f(x) = x^2なので、 f(x)の定義域は「全ての実数x」です。 なのでg(x) = √(x-1)が全ての実数に収まるような xの範囲を考えればよいことになります。 今回の場合、そのようなxの範囲は1 ≦ xです。 [3] [1]で求めた「手順(1)が計算できるxの範囲」と [2]で求めた「手順(2)が計算できるxの範囲」の共通部分にあるxの値であれば、 (f°g)(x)計算の為の2つの手順を両方とも実行できることになります。 なのでこの共通部分が合成関数(f°g)(x)の定義域です。 質問文の例の場合、[1]も[2]も1 ≦ xとなっているので、 (f°g)(x)の定義域は1 ≦ xとなります。 (補足) 実は[2]を考える際に、同時に[1]を考える必要があります。 なので[1], [2]をまとめて実行し、答えを出す事もできます。 慣れないうちは[1], [2]を別々に考え、共通部分を取る方が良いかもしれませんが...。