馮所偉
本文討論復合函數定義中容易引起誤解之處,并從數學運算的角度給出復合函數的一個更易于理解的定義.
關于復合函數,很多教科書給的都是類似如下定義:
設函數y=f(u)的定義域是Df,函數u=g(x)的值域是Zg,若Zg∩Df不為空集,則將y=f(g(x))稱為由函數y=f(u)和u=g(x)構成的復合函數.y=f(u)稱為外層函數,u=g(x)稱為內層函數,也稱為中間變量.
對于上面這個定義,不少人通過學習之后,都認為y=f(u)與y=f(g(x))是相同的函數,因為它們都用y來表示.
那么,這兩個函數到底是不是相同的呢?
首先,要判斷兩個函數是否相同,主要是考慮兩個函數的定義域和對應法則是否都相同.看下面的例子,設f(u)=u2,g(x)=x+lnx,則得復合函數為f(g(x))=(x+lnx)2.第一,很顯然f(u)=u2的定義域是R,而f(g(x))=(x+lnx)2的定義域是R+,所以這兩個函數的定義域并不相同.第二,f(u)=u2的對應法則是對自變量進行平方,而f(g(x))=(x+lnx)2的對應法則是對自變量求自然對數后再加上自變量本身,最后才平方,所以這兩個函數的對應法則也是不相同的.
其次,不妨假設f(u)與f(g(x))相同,現有以下三個函數f(u)=u2,g1(x)=x+lnx與g2(x)=lnx,那么f(u)=u2與g1(x)=x+lnx復合可得f(g1(x))=(x+lnx)2,f(u)=u2與g2(x)=lnx復合可得f(g2(x))=(lnx)2.按照相同的假設,這里得到的兩個復合函數都等于f(u),即f(g1(x))=(x+lnx)2=f(u)=f(g2(x))=(lnx)2,這顯然是錯誤的.
最后,函數的復合是一種數學運算,而數學運算指的是“依照數學法則求出算式結果的過程”(《現代漢語實用詞典》南方出版社).可以這么理解,數學運算是對已知量實施了某些動作,產生新的量的過程.復合函數就是幾個已知函數進行運算后得到的新函數,這個新函數怎么會在任何情況下都等于前面的其中一個已知函數呢?如果都等的話,這種運算便形同虛設了.所以,如果認為函數f(u)與f(g(x))是相等的,就如同是“當2+3=5時”,認為2和5是相等的一樣.
由上述幾點可知,函數f(u)與f(g(x))是不相同的函數,既然是不相同的,在一個命題里面,就不應該用相同的符號來表示,要不就會造成誤解,這正是不少人認為它們是相同的最直接的原因.另外,對于復合函數的定義,再從數學運算這一數學基本概念方面進一步強調其含義,就會更加清晰一些.因此,下面給出一個更易于理解的定義:
定義(復合函數)已知函數f(u)和g(x),把g(x)代入f(u)得到f(g(x))的過程(代入指把u都換成g(x)),稱為函數的復合運算.若f(g(x))存在,則稱f(g(x))是由f(u)和g(x)復合而成的復合函數,此時稱f(u)為外層函數,g(x)為內層函數,稱u為中間變量,記作u=g(x).若f(g(x))不存在,則稱f(u)和g(x)進行復合運算時沒有意義.
幾點說明
(1)f(g(x))不存在是指自變量x的取值范圍是空集,即定義域為空;
(2)求函數時除了要寫出函數的對應法則(常表現為表達式),還要寫出函數的定義域,求復合函數也應如此;
(3)函數的復合運算可以由多個函數按一定的先后順序進行,如由f(u),g(v),h(x)按順序進行復合運算可得f(g(h(x))).
幾個求復合函數的例子:
例1已知函數f(u)=log2u,g(x)=x2+1,則f(u)和g(x)進行復合運算應得f(g(x))=log2(x2+1),其定義域為R=(-∞,+∞)非空,所以復合函數f(g(x))=log2(x2+1)存在.
例2已知函數f(u)=log2u,g(x)=x2-x,則f(u)和g(x)進行復合運算應得f(g(x))=log2(x2-x),其定義域D=(-∞,0)∪(1,+∞)非空,所以復合函數f(g(x))=log2(x2-x)存在.
例3已知函數f(u)=log2u,g(x)=-x2-1,則f(u)和g(x)進行復合運算應得f(g(x))=log2(-x2-1),但此函數定義域D=粒所以f(g(x))不存在,即f(u)和g(x)進行復合運算時沒有意義.
【參考文獻】
[1]華東師范大學數學系.數學分析.北京:高等教育出版社.
[2]周誓達.微積分.北京:中國人民大學出版社.
[3]肖林元.函數的定義域會空嗎.數學教學,1996(1).