摘要:本文通過示例說明在mathematica7中如何準確、靈活地將Boole(布爾)函數和Integrate函數結合起來直接計算二重積分和曲面所圍立體的體積,并揭示了Integrate函數和Boole函數求封閉曲線圍城的平面圖形的面積的原理。
關鍵詞:Mathematica7 ;Boole(布爾)函數;Integrate函數
一、引言
Mathematica軟件功能強大并且不斷地完善,一些原來不能實現的功能在新版本中逐步實現,比如線性規劃中的整數解、直接求解二重積分等。用Mathematica5求二重積分要先轉化為二次積分再計算,但Mathematica7中只要能準確、靈活地將Boole函數和Integrate函數結合起來,則可直接求二重積分和曲面所圍成的立體的體積。
二、用Boole函數和Integrate函數求二重積分和曲面所圍立體的體積
1.計算二重積分用到的內建函數。
積分函數Integrate[ ]可以用于求定積分、不定積分、廣義積分、二重積分、二次積分。例如■ 只需輸入:Integrate[x*y,{y,-1,2},{x,y2,y+2}]。其中{y,-1,2}指y的范圍從-1到2。應先輸入第一個積分號對應的積分變量的范圍。布爾函數Boole[],例如輸入Boole[{True,False,True,True,False}]則輸出{1,0,1,1,0}。
2.Mathematica7中計算二重積分■。
輸入 Integrate[f(x,y)Boole[積分區域D],{x,-∞,+∞},{y,-∞,+∞}]
其中f(x,y)是被積函數,要用顯函數。積分區域D要用不等式或不等式組表示。
例1:■
輸入: Integrate[x2*y2Boole[Abs[x]+Abs[y]?燮1],{x,-∞,+∞},{y,-∞,+∞}]
輸出: 1/45
注:Abs[x]指x 。{x,-∞,+∞}指x的范圍從負無窮到正無窮。若輸入Integrate[x2*y2Boole[Abs[x]+Abs[y]?燮1],{x,-1,1},{y,-1,1}],則輸出結果不變。后面規定的X和y的范圍只要不小于Boole函數中的不等式或不等式組中x和y的取值范圍,輸出的結果都一樣。這是因為Boole[ ]函數對不滿足[ ]中的取值,一律輸出0。
例2:計算I=■其中D是由直線y=x-2及拋物線y2=x所圍成的閉區域(見上圖)。
輸入:
Integrate[(x*y)Boole[y?叟x-2x?叟y2],{x,-∞,+∞},{y,-∞,+∞}]
輸出:45/8
注1:y?叟x-2表示直線y=x-2的上方;x?叟y2表示曲線x=y2的右邊。
注2: Boole前面的x*y應加括號或者空格,否則不能運算,因為這樣系統可能會認為y和Boole是一個整體。但例1中Boole 前面的x2*y2不加括號而且不留空格也可以運算,這是因為y有一個指數使得系統能夠識別x2*y2和Boole是分開的兩部分。
本例中若輸入:Integrate[Boole[y?叟x-2x?叟y2],{x,-∞,+∞},{y,-∞,+∞}]則可以看成被積函數為常數1,積分區域D為{y?叟x-2x?叟y2}的二重積分,在數值上等于以D為底,高為1的柱體的體積,在數值上也等于積分區域D的面積。這就是用Integrate函數和Boole函數求封閉曲線圍城的平面圖形的面積的原理。
3.Mathematica7中計算曲面所圍立體的體積。
輸入:tt=用不等式或不等式組表示曲面所圍成的立體;
Integrate[Boole[tt],{x,-∞,+∞},{y,-∞,+∞},{z,-∞,+∞}]
注1: tt是自定義的量。自定義的量小寫字母開始,后跟數字和字母的組合,長度不限。
注2:因為tt中定義的是空間立體,三維的,所以要有{z,-∞,+∞}這部分。
注3:以上運算求出的是tt中不等式組定義的立體的體積。
例3:求曲面■
輸入:aa=z?叟x2+2y2z?燮6-2x2-y2;
Integrate[Boole[aa],{x,-∞,+∞},{y,-∞,+∞},{z,-∞,+∞}]
輸出:6 ?仔
注: “”表示“且”;z?叟x2+2y2 指曲面z=x2+2y2的上方;
z?燮6-2x2-y2 指曲面z=6-2x2-y2的下方。
例4:求曲面z=0,x2+y2=1,z=6-x2-y2所圍成的立體的體積
輸入:kk=z?叟0z?燮6-x2-y2x2+y2?燮1;
Integrate[Boole[kk],{x,-∞,+∞},{y,-∞,+∞},{z,-∞,+∞}]
輸出: (11 ?仔)/2
注:z?叟0指平面z=0的上方;z?燮6-x2-y2指曲面z=6-x2-y2的下方;
x2+y2?燮1指圓柱面x2+y2=1的內部。
4. Mathematica7中計算二重積分與計算曲面所圍立體的體積的聯系。
由二重積分的幾何意義可知,被積函數在積分區域上非負時■等于以D為底以f(x,y)為頂的曲頂柱體的體積;被積函數在積分區域上小于0時,■等于以D為底以f(x,y)為頂的曲頂柱體的體積的相反數。所以若能確定被積函數在積分區域上為正或為負的話,也可以用計算體積的方法計算二重積分。如例1把 ■轉化為對應的曲頂柱體的體積來求,輸入:mm=z?燮x2*y2 z?叟0Abs[x]+Abs[y]?燮1; Integrate[Boole[mm],{x,-∞,+∞},{y,-∞,+∞},{z,-∞,+∞}]也可以求解。
當然Mathematica7中計算曲面所圍立體的體積也可以先把該立體的體積用二重積分表示再計算。如例3中所求立體的體積用二重積分表示為■,輸入Integrate[(6-x2-y2)Boole[x2+y2?燮1],{x,-∞,+∞},{y,-∞,+∞}]也可以求解。
三、結語
Mathematica7中引入將Boole函數和Integrate函數結合起來計算二重積分和曲面所圍立體的體積,使得其功能更加完善,可以更好更快地處理實際問題。Mathematica功能的完善是無止境的,不斷地學習其新功能,掌握其運算原理,準確、靈活、有創意地運用mathematica軟件,將使我們的學習和研究更上一層樓。
(作者單位:廣州民航職業技術學院)
參考文獻:
[1] 張韻華,王新茂.mathematica7實用教程[M].北京:中國科學技術大學出版社, 2011.
責任編輯:賴俊辰