Mathematica直觀輸入表達式及執行結果為:
表達式文本直接輸入格式的表達式為:
<code>A=ImplicitRegion[x^2+y^2==z^2&&x+y==2 z-1,{x,y,z}]; cone=ContourPlot3D[x^2+y^2==z^2,{x,-3,3},{y,-3,3},{z,-3,3},Mesh->None,ContourStyle->Opacity[0.2]]; Show[{cone,DiscretizeRegion[A,MeshCellHighlight->Red]}]/<code>
例:繪製立體半心形表面與實心半心形圖形.
Mathematica直觀輸入表達式及執行結果為:
五、區域組合與幾何度量值的計算
Mathematica中創建的區域還可以進行區域間的運算並直接計算區域的幾何的度量值(長度、面積、體積、幾何中心等),即在區域上的積分對應的幾何意義所得到的一些數值。具體的操作命令包括:
- 區域間的運算:RegionBoundary(獲取區域的邊界)、RegionUnion(區域並)、RegionIntersection(區域交)、RegionDifference(區域差)等.
- 幾何度量值:ArcLength(弧線長度)、Area(區域(表)面積)、Volume(立體的體積)、Perimeter(平面區域的周長)、RegionCentroid(幾何中心,形心)、RegionMeasure(自動根據區域類型給出度量值,分別為計數(零維,點集),長度(一維),面積(二維),體積(三維)和勒貝格測度)等。
例:定義中心軸從點(0,0,0)到(2,0,0),半徑為1的圓柱體和球心分別在(0,0,0),(2,0,0) 、半徑都為1的兩個球體區域,組合顯示三個區域圖形;通過區域運算得到三個區域的並和圓柱體減去兩個球體的區域,並計算組合得到的區域的體積.
在Mathematica中輸入表達式:
<code>A = Cylinder[{{0, 0, 0}, {2, 0, 0}}, 1]; B1 = Ball[{0, 0, 0}, 1]; B2 = Ball[{2, 0, 0}, 1]; Graphics3D[{B1, B2, Opacity[0.9], A}] capsule1 = RegionUnion[A, B1, B2]; capsule2 = RegionDifference[RegionDifference[A, B1], B2]; {Volume[capsule1], Volume[capsule2]}/<code>
執行後的結果顯示如圖所示
並獲得兩個區域的體積為{10Pi/3,2Pi/3},即併為圓柱體的體積和兩個半球的體積之和,差為圓柱體的體積減去兩個半球體的體積.
例:定義底面中心點在原點,半徑為3,頂點為(0,0,3)的圓錐體區域,並計算它的體積、表面積與形心.
在Mathematica中輸入表達式:
<code>A=Cone[{{0,0,0},{0,0,3}},3]; B=RegionBoundary[A]; {Volume[A],Area[B],RegionCentroid[A]}/<code>
執行後的結果為
其中Volume和Area也可以替換為RegionMeasure,Mathematica會自動根據區域類型得到相應的立體的體積和表面的面積.
例:計算拋物線y^2=2x與直線y=x-4所圍成的圖形的面積.
採用區域交運算操作定義曲線圍成區域並計算面積,輸入的Mathematica表達式為:
<code>A=RegionIntersection[ImplicitRegion[y^2<=2x,{x,y}],ImplicitRegion[y>=x-4,{x,y}]]Area[A]/<code>
執行後的顯示的結果為
即區域定義運算的結果的等價區域描述形式,並顯示曲線所圍平面區域面積為18。
例:求兩個底圓半徑都等於R的直交圓柱面所圍成的立體的體積與表面積.
輸入的Mathematica表達式為
<code>A=ImplicitRegion[x^2+y^2<=R^2&&x^2+z^2<=R^2&&R>0,{x,y,z}]; B1=ImplicitRegion[x^2+y^2<=R^2&&x^2+z^2==R^2&&R>0,{x,y,z}]; B2=ImplicitRegion[x^2+y^2==R^2&&x^2+z^2<=R^2&&R>0,{x,y,z}]; B=RegionUnion[B1,B2]; {Volume[A],Area[B]}/<code>
執行後的顯示的結果為
六、多元函數積分的計算
下面以實例的形式給出Mathematica中直接以區域範圍方式直接計算多元函數的積分。
例(二重積分) 計算二重積分
輸入Mathematica表達式並執行後顯示結果為:
輸入Mathematica表達式執行後顯示結果為:
輸入Mathematica表達式執行後計算得到結果為
輸入Mathematica表達式為
<code> = ImplicitRegion[x^2 + y^2 + z^2 == R^2 && x + y + z == 0, {x, y, z}]Assuming[R > 0, Integrate[x^2, {x, y, z} \[Element] A]]/<code>
計算得到結果為(2Pi R^3)/3.
(1) Mathematica中輸入表達式計算後得到的結果為
(2) Mathematica中輸入表達式執行後得到的結果為
Mathematica中輸入表達式執行後計算得到的積分結果為
輸入的Mathematica表達式及計算結果為
小結
以上對數學軟件Mathematica中如何定義積分區域直接計算多元函數積分的思路、方法和具體操作進行了詳細的分析與探討。從應用範例中可以直觀看到,這種計算多元積分的方法對於日常積分計算思路、方法與結果正確與否的驗證提供了一個非常方便、快捷、有效的方式。
不過值得注意的是,對於重積分、對弧長的曲線積分和對面積的曲面積分,既使積分範圍不具有統一的描述形式,一般也可以直接通過多個區域的定義來一次性積分得到結果;但是,對於對座標的曲線積分和對座標的曲面積分,對不具有統一數學描述形式的積分曲線或曲面,由於切向量與法向量計算使用的方程不同,可能需要基於積分對積分曲線或曲面的可加性,通過分割積分範圍單獨計算子範圍上的積分並求和來實現。同時,並不是所有的積分的計算都可以通過這種方式來計算得到結果,對於一些複雜的積分可能需要事先進行一定的數學處理,如被積函數的變換,積分類型的轉換等操作以後才能完成計算。也就是說,要想讓計算機正確高效的幫助我們解決問題,一定的數學基礎和必要的數學能力必不可少。
另外,在Mathematica中除了可以直接在區域範圍上計算積分之外,區域也可以直接作為求解方程、最優化、求解偏微分方程的約束條件直接計算需要的結果。更多操作可以參見Mathematica的幫助文件相應的主題,歡迎Mathematica愛好者投稿交流軟件使用和應用心得體會與分享使用經驗與應用案例。 投稿是否採用一般一週內給予回覆,也可以通過郵箱或微信查詢!
推薦閱讀:
- 空間圖形篇:還有你不會繪製的數學函數表達式圖形嗎?
- 平面圖形篇:還有你不會繪製的數學函數表達式圖形嗎?
- 用數學方程式給Ta們生成逼真的頭像線條畫
- 你的愛,用數學公式告訴她(他)
- 好玩的數學:乾點地理老師做的事,讓地球儀轉起來
- 第11屆全國大學生數學競賽初賽非數學類試題點評、視頻解析、歷屆真題PDF下載
- 積分不等式的證明之競賽和考研,高數與數分備考的關係
- 從一個積分問題的八種解法再看考研、競賽、高數與數分備考的關係
- 如何準備數學競賽、研究生招生數學考試更有效?
- 學數學要大量做題嗎?談談關於數學的幾個問題
- 關於全國大學生數學競賽,你想知道的都在這裡了
更多相關內容參考公眾號底部菜單“競賽實驗 ”下的“數學實驗與數學史 ”,數學軟件與數學實驗免費教學視頻參見咱號配套的公共基礎課在線課堂中的免費課程“好玩的數學:用Mathematica學數學與做數學”。
微信公眾號:考研競賽數學(ID: xwmath) 大學數學公共基礎課程分享交流平臺!