
![二重積分計算的matlab gui設計[畢業(yè)論文]_第1頁](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/16/21/56dbeb6a-9a86-44f0-98d5-6ae7ed7606fa/56dbeb6a-9a86-44f0-98d5-6ae7ed7606fa1.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、<p> 本科畢業(yè)論文(設計)</p><p><b> ?。?0 屆)</b></p><p> 二重積分計算的MATLAB GUI設計</p><p> 所在學院 </p><p> 專業(yè)班級 信息與計算科學 <
2、;/p><p> 學生姓名 學號 </p><p> 指導教師 職稱 </p><p> 完成日期 年 月 </p><p> 摘要:本文首先介紹了MATLAB GUI,以及它在數(shù)值計算方面的應用。接著,
3、敘述了二重積分的定義,計算方法和計算步驟。然后介紹了應用MATLAB求二重積分的命令。最后通過MATLAB GUI繪制圖形使數(shù)據(jù)可視化,即用MATLAB GUI設計圖形用戶界面,實現(xiàn)二重積分的計算。在文章中,我給了兩個用MATLAB GUI計算二重積分的程序的例子。本文對加強自身的計算機編程能力和數(shù)學分析能力有一定的指導作用。</p><p> 關(guān)鍵詞:MATLAB GUI;數(shù)值計算;二重積分 </p&g
4、t;<p> The Calculation of Double Integral by MATLAB GUI Design</p><p> Abstract:In this paper the software of MATLAB GUI and the application of MATLAB in numerical computation are introduced. Then t
5、he definition, the calculation method and the calculation steps of double integral are described. And then I introduce the order of double integral with MATLAB. Finally the graphics data is visualized by MATLAB GUI. That
6、 is using the MATLAB GUI to implement solving the calculation of double integral. In the paper, I give two examples by writing the program of double inte</p><p> Keywords::MATLAB GUI; numerical computation
7、;double integral</p><p><b> 目 錄</b></p><p><b> 1 緒論1</b></p><p> 1.1 問題的背景、意義1</p><p> 1.1.1 背景1</p><p> 1.1.2 意義1<
8、/p><p> 2 MATLAB軟件介紹3</p><p> 2.1 MATLAB軟件概況3</p><p> 2.1.1 MATLAB軟件簡介3</p><p> 2.1.2 MATLAB語言特點3</p><p> 2.2 MATLAB GUI介紹4</p><p>
9、 2.2.1 GUI基本概念4</p><p> 2.2.2 GUI層次結(jié)構(gòu)5</p><p> 2.2.3利用GUIDE創(chuàng)建GUI6</p><p> 3 二重積分的定義8</p><p> 4 二重積分的計算方法及步驟9</p><p> 4.1 二重積分的計算方法9</p>
10、<p> 4.1.1 矩形區(qū)域上的二重積分計算9</p><p> 4.1.2 一般區(qū)域上的二重積分計算9</p><p> 4.2 二重積分的計算步驟11</p><p> 4.2.1 在直角坐標系下用二次積分計算二重積分的步驟:11</p><p> 4.2.2 在極坐標下用二次積分計算二重積分的
11、步驟:11</p><p> 4.2.3 二重積分的一般變量替換的步驟:11</p><p> 5 二重積分的計算的MATLAB實現(xiàn)12</p><p> 5.1 符號解法12</p><p> 5.2 數(shù)值解法12</p><p> 6 MATLAB GUI在二重積分計算中的應用14&
12、lt;/p><p> 6.1 符號解法的應用14</p><p> 6.2 數(shù)值解法的應用18</p><p><b> 7 結(jié)論23</b></p><p> 致 謝錯誤!未定義書簽。</p><p><b> 參考文獻24</b></p>
13、<p><b> 1 緒論</b></p><p> 1.1 問題的背景、意義</p><p><b> 1.1.1 背景</b></p><p> 在科學研究和工程應用中,人們通常希望將數(shù)據(jù)、設計或計算結(jié)果用交互式圖形表示,以使數(shù)據(jù)的特征或性能能夠清晰、直觀地以GUI方式展現(xiàn)。通常,快捷方便地
14、繪制圖形,尤其是不規(guī)則圖形,需要對繪圖工具、語言有較為深入的了解,需要熟練使用這些工具或編寫程序,而這通常是一項入門緩慢、熟練精通時間較長的工作。</p><p> MATLAB在提供強大計算功能的同時,近年來還大力發(fā)展了面向?qū)ο蟮膱D形技術(shù)和GUI技術(shù),使用戶可以輕松實現(xiàn)數(shù)據(jù)的交互式顯示。MATLAB的圖形繪制、圖形高級操作以及GUI這些方面的應用日益普遍。使用MATLAB提供的圖形設計技術(shù),用戶無須了解圖形實
15、現(xiàn)的細節(jié)內(nèi)容,有時甚至只需幾個簡單的函數(shù)就可以繪制非常復雜的圖。另外,用戶還可以根據(jù)需要來規(guī)劃、設計MATLAB的圖形外觀,不斷調(diào)整完善,直至繪圖結(jié)果完全符合用戶要求。總之,利用MATLAB提供的GUI設計工具或編寫程序,可以簡單、便捷地設計出美觀、方便的菜單化和控制式的人機交互界面。[1]</p><p> MATLAB是一種數(shù)值計算環(huán)境和編程語言,主要包括MATLAB和Simulink兩大部分。MATLAB
16、基于矩陣運算,具有強大的數(shù)值分析、矩陣計算、信號處理和圖形顯示功能,其強大的數(shù)據(jù)處理能力和豐富的工具箱使得它的編程極為簡單。 MATLAB既能進行科學計算,又能開發(fā)出所需要的圖形界面。圖形用戶界面(GUI)是由窗口、光標、按鍵、菜單、文字說明等對象(Objects)構(gòu)成的一個用戶界面。用戶通過一定的方法選擇、激活這些圖形對象,使計算機產(chǎn)生某種動作或變化,比如實現(xiàn)計算、繪圖等。[2]</p><p> 在高等數(shù)學
17、的學習中,經(jīng)常面臨一些有關(guān)圖形和計算問題。但是很多函數(shù)的表達和計算過于抽象,而使用MATLAB可以通過GUI設計很好地解決這些問題,并且可以對相關(guān)的函數(shù)利用MATLAB的強大數(shù)值計算功能進行進一步分析,同時可以執(zhí)行一些動作或變化來滿足用戶的需求。</p><p><b> 1.1.2 意義</b></p><p> 積分理論是微積分學的重要內(nèi)容之一,計算二重積分
18、是計算重積分的基礎, 所以是數(shù)學分析課程的重點。由于二重積分是一種和式的極限, 用定義來計算它是比較困難的。因此,二重積分的計算也是學習中的一個難點。在計算二重積分時,通常是把二重積分化為累次積分來計算,然而在實際計算化二重積分為二次積分的過程中往往會遇到原函數(shù)無法用初等函數(shù)表示的情形,這時需要考慮二重積分的近似計算方法。而MATLAB不管是在符號計算方面,還是在數(shù)值計算方面都是十分擅長的。MATLAB有自帶的符號積分命令能實現(xiàn)二重積分
19、的精確求解,有數(shù)值積分命令能實現(xiàn)二重積分的近似計算,而且用戶還可以通過它自己編寫程序來實現(xiàn)二重積分的計算。運用MATLAB的計算能力和用MATLAB GUI設計圖形用戶界面,實現(xiàn)二重積分計算的數(shù)據(jù)可視化是有一定的現(xiàn)實意義的。一方面二重積分圖形可視化會顯示求函數(shù)積分的過程,通過圖形來表達二重積分的順序及其含義,觀察積分變量的依次積分情況來體會二重積分概念的內(nèi)涵。另一方面可以加強自身的計算機編程能力和數(shù)學分析能力。</p>&
20、lt;p> 2 MATLAB軟件介紹</p><p> 2.1 MATLAB軟件概況</p><p> 2.1.1 MATLAB軟件簡介</p><p> MATLAB是Matrix Laboratory(矩陣實驗室)的縮寫,由美國Mathworks 公司開發(fā)。MATLAB 語言是當今國際上科學界(尤其是自動控制領域) 最具影響力、也是最有活力的科
21、學計算軟件。它起源于矩陣運算,并已經(jīng)發(fā)展成一種高度集成的計算機語言。它提供了強大的科學運算、靈活的程序設計流程、高質(zhì)量的圖形可視化與界面設計、便捷的與其他程序和語言接口的功能。MATLAB 語言在各國高校與研究單位正扮演著重要的角色。在美國的一些大學里,MATLAB 正在成為對數(shù)值線性代數(shù)以及其他一些高等應用數(shù)學課程進行輔助教學的有益工具。在工程技術(shù)界,MATLAB 也被用來解決一些實際課題和數(shù)學模型問題。它在其他科學與工程領域的應用也
22、是越來越廣,并且有著更廣闊的應用前景和無窮無盡的潛能。 </p><p> MATLAB用戶接口包括下拉菜單和對話框,任何個人電腦使用者對這一接口都很熟悉。菜單命令支持文件操作、打印、程序編輯和用戶接口定制。MATLAB的數(shù)值計算是通過在命令窗口輸入命令,并不是通過菜單操作進行的。</p><p> MATLAB是一個基本的應用程序,它
23、有一個稱為標準工具箱的巨大程序模塊庫。MATLAB工具箱包括解決實際問題的擴展庫,如:求根、插值、數(shù)值積分、線性和非線性方程組求解以及常微分方程組求解。由于繼承了LINPACK、EISPACK和LAPACK的特性,MATLAB對數(shù)值線性代數(shù)來說是一個高可靠的優(yōu)化系統(tǒng)。許多數(shù)值作業(yè)能夠用線性代數(shù)語言精確地表示。MATLAB和線性代數(shù)的密切關(guān)系是程序員能夠用很短的MATLAB語言來解決復雜的數(shù)值作業(yè)。標準工具箱還包括數(shù)據(jù)可視化的擴展圖形庫,
24、有簡單的點、線和復雜的三維圖形和動畫。所有的MATLAB程序都可以使用這些函數(shù),這樣就可以在所有程序和程序集中分析并生成達到出版質(zhì)量的圖示。對圖形的快速訪問能有效地提高用戶的效率。診斷點有助于調(diào)試程序和檢驗算法是否正確執(zhí)行。低級的圖形函數(shù)為自定義圖形用戶接口的分析代碼提供了擴展空間。除了標準工具箱,可以使用其他的工具箱,如:信號處理、圖像處理、優(yōu)化、統(tǒng)計分析、偏微分方程的求解和許多數(shù)值計算的應用。</p><p>
25、; 2.1.2 MATLAB語言特點[6,7]</p><p> MATLAB語言有不同于其他高級語言的特點,它被稱為第四代計算機語言,MATLAB語言的最大特點就是簡單和直接。正如第三代計算機語言使人們擺脫對計算機硬件操作一樣,MATLAB語言使人們從煩瑣的程序代碼中解放出來。它豐富的函數(shù)使開發(fā)者無須重復編程,只要簡單的調(diào)用和使用即可。MATLAB語言的主要特點可概括如下:</p><p
26、> (1)以矩陣和數(shù)組為基礎的運算</p><p> MATLAB 是以矩陣為基礎的,不需要預先定義變量和矩陣(包括數(shù)組)的維數(shù),可以方便地進行矩陣的算術(shù)運算、關(guān)系運算和邏輯運算等。</p><p> ?。?)簡單易學,使用方便</p><p> MATLAB 被稱為“草稿式”語言,這是因為其函數(shù)名和表達更接近我們書寫計算公式的思維表達方式,編寫MATL
27、AB程序猶如在草稿紙上排列公式與求解問題,因此可以快速地驗證工程技術(shù)人員的算法。此外MATLAB還是一種解釋性語言,不需要專門的編譯器。</p><p> (3)強大的圖形技術(shù)</p><p> MATLAB具有非常強大的以圖形化顯示矩陣和數(shù)組的能力,同時它能給這些圖形增加注釋并且打印這些圖形。MATLAB 的圖形技術(shù)既包括一些可以方便產(chǎn)生二維、三維科技專業(yè)圖形的高級繪圖函數(shù),又包括一
28、些可以讓用戶靈活控制圖形特點的低級繪圖命令。另外,用戶還可以利用MATLAB的句柄圖形技術(shù)創(chuàng)建圖形用戶界面。</p><p> (4) 編程效率極高</p><p> MATLAB 是一種面向科學和工程計算的高級語言。它以矩陣運算為基礎,極少的代碼即可實現(xiàn)復雜的功能。</p><p> (5) 可擴充性強,具有方便的應用程序接口</p><
29、p> MATLAB 不僅有著豐富的庫函數(shù),在進行復雜的數(shù)學運算時可以直接調(diào)用。而且用戶還可以根據(jù)需要方便地編寫和擴充新的函數(shù)庫。通過混合編程用戶可以方便地在MATLAB環(huán)境中調(diào)用其他用 Fortran 或者 C 語言編寫的代碼,也可以在 C 語言或者 Fortran 語言程序中調(diào)用MATLAB 計算引擎來執(zhí)行MATLAB代碼。</p><p> 2.2 MATLAB GUI介紹[1.8]</p&
30、gt;<p> 2.2.1 GUI基本概念</p><p> 一個可以發(fā)布的應用程序通常都需要有一個友好的圖形用戶界面(Graphical User Interface)。程序的用戶界面是用戶與計算機程序的交互方式,用戶通過鍵盤、鼠標等輸入設備與計算機交換信息。圖形用戶界面(GUI)是包含圖形對象,如窗口、圖標、菜單和文本的用戶界面。用戶以某種方式選擇或激活這些對象,會引起動作或發(fā)生變化,例如調(diào)
31、用計算程序或者繪圖等。</p><p> 圖形用戶界面通常是一種包含多種圖形對象的界面,典型的圖像界面包括圖形顯示區(qū)域,功能按鈕控件以及用戶自定義的功能菜單等。為了讓界面實現(xiàn)各種功能,需要對各個圖形對象進行布局和事件編程。當用戶激活對應的GUI對象時,就能執(zhí)行相應的時間行為。</p><p> 創(chuàng)建MATLAB用戶圖形界面必須具有以下3個基本元素:</p><p&g
32、t;<b> (1) 組件</b></p><p> 在MATLAB GUI中的每一個項目(按鈕、標簽、編輯框等)都是一個圖形化組件。組件可分為3類:圖形化控件(按鈕、編輯框、列表、滾動條等)、靜態(tài)元素(窗口和文本字符串)、菜單和坐標系。</p><p> 圖形化控件和靜態(tài)元素由函數(shù)uicontrol創(chuàng)建,菜單由函數(shù)uimenu和uicontextmenu創(chuàng)建,
33、坐標系經(jīng)常用于顯示圖形化數(shù)據(jù),由函數(shù)axes創(chuàng)建。</p><p><b> (2) 圖形窗口</b></p><p> GUI的每一個組件都必須安排在圖像窗口中。在畫數(shù)據(jù)圖像時,圖像窗口通常會被自動創(chuàng)建。但還可以用函數(shù)figure來創(chuàng)建空圖像窗口,空圖像窗口經(jīng)常用于放置各種類型的組件。</p><p><b> (3) 回應&
34、lt;/b></p><p> 如果用戶用鼠標單擊或用鍵盤輸入一些信息,那么程序就要有相應的動作。鼠標單擊或輸入信息是一個事件,如果MATLAB程序運行相應的函數(shù),那么MATLAB函數(shù)肯定會有所反應。例如,如果用戶單擊一按鈕,這個事件必然導致相應的MATLAB語句執(zhí)行。這些相應的語句被稱為回應。只要執(zhí)行GUI的單個圖形組件,就必須有一個回應。</p><p> 2.2.2 GUI
35、層次結(jié)構(gòu)</p><p> 實現(xiàn)一個GUI的過程包括 基本任務:一是GUI的組建布局,另一個是GUI組件編程。另外,用戶還必須能夠保存并發(fā)布自己的GUI,使得用戶開發(fā)的圖形用戶界面能夠真正得到應用,所有這些功能都能可以通過圖形用戶界面開發(fā)環(huán)境來完成。</p><p> GUI也是一種MATLAB對象,可以使用M文件來創(chuàng)建GUI對象,這也是最基礎的,使用其他方法創(chuàng)建時,也需要編寫相應的程
36、序代碼。除了使用M文件來創(chuàng)建GUI對象外,MATLAB還為用戶開發(fā)圖形界面提供一個方便高效的繼承開發(fā)環(huán)境:MATLAB圖形用戶界面開發(fā)環(huán)境(MATLAB Graphical User Interface Development Environment,GUIDE)。其主要是一個界面設計工具集,他將所有GUI所支持的用戶控件都集成起來,同時提供界面外觀、屬性和行為響應方法的設置方法。除了可以使用GUIDE創(chuàng)建GUI之外,還可以將設計好的G
37、UI界面保存為一個FIG資源文件,同時自動生成對應的M 文件。該M文件包含了GUI初始化代碼和組建界面布局的控制代碼。使用GUIDE創(chuàng)建GUI對象執(zhí)行效率高,可以交互式的進行組件布局,還能生成保存和發(fā)布GUI的對應文件。</p><p> GUIDE可以首先在布局GUI的同時生成以下兩個文件:</p><p> ?。?)FIG文件。該文件包括GUI的圖像窗口和所有子對象(包括用戶控件和坐
38、標軸)的完全描述以及所有對象的屬性值。</p><p> ?。?)M文件。該文件包括用戶用來發(fā)布和控制界面和回調(diào)函數(shù)(這里作為子函數(shù))的各種函數(shù)。該文件中不包含任何組件的布置信息。</p><p> 可以這樣說,MATLAB圖形界面程序的核心就是句柄圖形的應用,對句柄圖形的充分了解將使得MATLAB圖形界面程序的編寫更加容易。</p><p> 句柄圖形是一組底
39、層圖形函數(shù)的名稱,這些函數(shù)用來在MATLAB中生成圖形,它提供了對圖形的高級控制,其基本思想是:MATLAB的每一個可視部分就是一個對象,每個對象都有一個相應的唯一標識符,即句柄。通過對句柄圖形的操作,就可以對該句柄圖形所對應的對象進行控制,比如修改屬性、調(diào)用其回調(diào)過程等。</p><p> MATLAB的圖形對象包括uimenu、unicontrol和uicontextmenu對象以及圖形、坐標軸及其子對象,
40、其對象層次結(jié)構(gòu)如下圖所示。</p><p> 2.2.3利用GUIDE創(chuàng)建GUI</p><p> MATLAB的GUIDE開發(fā)工具為用戶提供以下幾種組件布局工具:</p><p> 組件布局編輯器:添加和安排圖形窗口中的對象;</p><p> 排列工具:排列對象的相應次序;</p><p> 屬性編輯器:
41、查看和設置屬性值;</p><p> 對象瀏覽器:觀察本次運行中圖形對象句柄的層次關(guān)系;</p><p> 菜單編輯器:創(chuàng)建圖形窗口菜單。</p><p> 這些工具集中在布局編輯器界面中,使用guide命令可以顯示該界面,創(chuàng)建一個新的GUI框架布局時,在添加需要布置的組件之前,應該使用GUIDE應用程序選項對話框?qū)UI進行組態(tài)。一般都通過組件布置編輯器To
42、ols菜單的GUI Options選項來打開GUIDE應用程序選項對話框。在該對話框中,用戶可以決定是否需要GUIDE為GUI生成M文件以及其他選項。組態(tài)完成后就可以使用組件布局工具來布置用戶所需的組件。通過使用布局工具,用戶可以添加所需的用戶控件對象并設置所需的屬性。布局完成并存盤后,所有的對象信息就保存在相應的FIG文件中了。</p><p> 下一步要對GUIDE生成的或用戶自己編寫的M文件進行編程來實現(xiàn)
43、用戶界面的交互功能,編程工具簡單分一下幾個部分:</p><p><b> 理解M文件</b></p><p> 如果GUI的M文件是由GUIDE創(chuàng)建的,那么用戶需要理解GUIDE創(chuàng)建函數(shù)的意義,從而進一步編程。</p><p><b> 管理GUI數(shù)據(jù)</b></p><p> MATLA
44、B提供一個句柄結(jié)構(gòu)體來方便地訪問GUI中的所有組件句柄,用戶還可以使用這個結(jié)構(gòu)體來存儲M文件所需的全部數(shù)據(jù)。</p><p> 設計交叉平臺的兼容性</p><p> GUIDE提供一個設置方法來保證用戶GUI在不同平臺上的良好外觀。</p><p><b> 回調(diào)函數(shù)編程與應用</b></p><p> 用戶對
45、象的回調(diào)函數(shù)中有一些回調(diào)函數(shù)屬性,用戶可以通過設置這些屬性來獲得所需的操作。</p><p> GUI圖形窗口行為控制</p><p> GUIDE設計界面中,這一界面包括頂部的菜單欄、工具條、左側(cè)邊欄的組件面板和中心的GUI界面設計區(qū)域。其中菜單欄中提供了許多此界面下操作的菜單項。工具條中的按鈕從左向右依次是:新建、打開、保存、剪切、復制、粘貼、撤銷、返回撤銷、對象分布和對齊、菜單編
46、輯器、Tab選擇順序編輯器、M文件編輯器、對象屬性設置窗口、對象瀏覽器和GUI運行按鈕。其中,對象分布和對齊按鈕,菜單編輯器按鈕,M文件編輯器按鈕,對象瀏覽器按鈕和GUI運行按鈕在GUI設計中會經(jīng)常使用。</p><p> 利用GUIDE,用戶可以非常方便和快捷地設計一個圖形用戶界面,如同在一張紙上繪圖??梢园褕D形界面的外觀,包括所有的按鈕以及圖形的位置確定下來,然后就可以利用MATLAB的回調(diào)程序編輯器來編寫
47、其函數(shù)代碼,從而可以使該圖形界面完成預定的任務。</p><p> 3 二重積分的定義</p><p> 二重積分是數(shù)學分析的重要內(nèi)容之一,關(guān)于二重積分的定義,這里簡述如下[3]:</p><p> 設為平面上可求面積的有界閉區(qū)域,為定義在上的函數(shù)。用任意的曲線把分成個可求面積的小區(qū)域</p><p> 以表示小區(qū)域的面積,這些小區(qū)
48、域構(gòu)成的一個分割,以表示小區(qū)域的直徑,稱為分割的細度。在每個上任取一點,作和式</p><p> 稱它為函數(shù)在上屬于分割的一個積分和。</p><p> 定義3.1:設是定義在可求面積的有界閉區(qū)域上的函數(shù),是一個確定的數(shù),若對任給的正數(shù),總存在某個正數(shù),使對于的任何分割,當它的細度時,屬于的所有積分和都有</p><p><b> ,</b&g
49、t;</p><p> 則稱在上可積,數(shù)J稱為函數(shù)在上二重積分,記作</p><p><b> ,</b></p><p> 其中稱為二重積分的被積函數(shù),稱為積分變量,稱為積分區(qū)域。</p><p> 當時,二重積分在幾何上就表示以為曲頂,為底的曲頂柱體的體積,當=1時,二重積分的值就等于積分區(qū)域的面積。<
50、/p><p> 4 二重積分的計算方法及步驟</p><p> 4.1 二重積分的計算方法</p><p> 計算二重積分的方法是:從幾何上, 把二重積分理解為曲頂柱體的體積, 將二重積分的計算問題轉(zhuǎn)化為求累次積分的問題。</p><p> 4.1.1 矩形區(qū)域上的二重積分計算[3]</p><p> 定理
51、 4.1 設在矩形區(qū)域上可積,且對每個,積分存在,則累次積分</p><p><b> 也存在,且</b></p><p><b> 同理有 </b></p><p> 定理4.2 設在矩形區(qū)域上可積,且對每個,積分存在,則累次積分</p><p><b> 也存在,且</b
52、></p><p> 4.1.2 一般區(qū)域上的二重積分計算[10]</p><p> 定義 4.1 如果積分區(qū)域D是由兩條連續(xù)曲線和, , 以及兩條直線x=a, x=b所限制,則稱積分區(qū)域D為 X-型區(qū)域。圖形如下:</p><p><b> X-型區(qū)域</b></p><p> 定理 4.3 在X-型區(qū)
53、域上的積分是先對y積分, 后對x積分,即</p><p> 定義 4.2 如果積分區(qū)域D是由兩條連續(xù)曲線和, , 以及兩條直線y=c, y=d所限制,則稱積分區(qū)域D為 Y-型區(qū)域。圖形如下:</p><p><b> Y-型區(qū)域</b></p><p> 定理 4.4 在Y-型區(qū)域上的積分是先對x積分, 后對y積分,即</p>
54、<p> 定義 4.3 如果積分區(qū)域D的邊界為和,,設,都在上連續(xù)則稱積分區(qū)域D為一型區(qū)域。</p><p> 定理4.5 在—型區(qū)域上的積分為:</p><p> 4.2 二重積分的計算步驟</p><p> 4.2.1 在直角坐標系下用二次積分計算二重積分的步驟:</p><p> ?。?)作出區(qū)域D的圖形,
55、 并認識它的類型即矩形區(qū)域、X-型區(qū)域、Y-型區(qū)域。</p><p> ?。?)若區(qū)域D比較復雜, 就把區(qū)域D分成若干基本型區(qū)域進行計算。</p><p> (3)確定積分次序。不僅要考慮區(qū)域D, 同時還要考慮被積函數(shù), 定出二次積分的上、下限。</p><p> 4.2.2 在極坐標下用二次積分計算二重積分的步驟:</p><p>
56、 (1) 一般情況下, 積分區(qū)域是圓域或其一部分, 或者D的邊界由極坐標方程給出較為簡單, 或者被積函數(shù)含有, 等表達式時, 用極坐標比較簡單。</p><p> (2) 作變量代換, ,(a, b為常數(shù), 由被積函數(shù)或區(qū)域來確定)。</p><p> ?。?)改變面積元素。</p><p> 4.2.3 二重積分的一般變量替換的步驟:</p>
57、<p> 在運用以上兩種方法比較困難時考慮一般變量替換。</p><p> ?。?)作變量替換或者。</p><p> (2)改變面積元素。</p><p> (3)區(qū)域D作了變量替換后變成區(qū)域D’,再按照一、二種方法進行判斷和計算。</p><p> 以上二重積分的計算方法和步驟是針對二重積分的原函數(shù)較容易得到,且解析解是
58、能解出來的情況,而對于一些很難得到解析解的二重積分。就需要運用數(shù)值計算方法, 計算函數(shù)的重積分的數(shù)值解,這時MATLAB的作用將得到很好的體現(xiàn),MATLAB中對積分的求解有許多命令可以實現(xiàn)。</p><p> 5 二重積分的計算的MATLAB實現(xiàn)</p><p> 在MATLAB中計算二重積分可以用符號解法和數(shù)值解法來求解。</p><p> 5.1 符號
59、解法[11]</p><p> ?。?)將所求的二重積分根據(jù)前面所講的各種情況,將其化為其中的一種累次積分,這里的c, d可以為表達式。</p><p> ?。?)然后直接運用MATLAB中的int命令求解該二重積分,即將表達為int(int( f, y, c, d),x,a,b)。</p><p> 5.2 數(shù)值解法[11]</p><p&
60、gt; 在實際計算化二重積分為累次積分的過程中往往會遇到原函數(shù)很難甚至無法用初等函數(shù)表示的情形,這時需要考慮運用數(shù)值計算方法, 計算函數(shù)的二重積分的數(shù)值。由于二重積分的計算最后是要化為累次積分來計算,所以歸結(jié)到最基本得底就是定積分的計算,對于定積分,MATLAB有多個數(shù)值求解命令:</p><p> (1) 矩形求積指令cumsum:對于向量x, cumsum(x)返回一向量,其第i個元素為向量x的前i個元素
61、的和。cumsum(y)*h為計算矩形積分公式,其中h為子區(qū)間步長。矩形公式為。</p><p> ?。?) 梯形公式指令trapz(x,y):其中輸入量x,y為同維數(shù)的向量。復化梯形公式為。</p><p> ?。?) 辛普森公式指令quad( ‘fun’, a, b, tol, trace)與quad1 ( ’fun’, a, b, tol, trace):復化辛普森公式為。其中被積函
62、數(shù)fun可以是字符串、內(nèi)聯(lián)函數(shù)或M函數(shù)文件名;a, b為積分的上與下限;tol代表精度,可缺省,缺省時tol=1e-6;;trace = 1時用圖形展示積分過程, trace = 0時無圖形。命令格式quad1比命令格式quad精度高。</p><p> ?。?) 除了上面三種數(shù)值求積公式以外還有高斯求積公式與龍貝格求積公式,相對前三種方法,這兩種方法較復雜,因此這里不再講述。</p><p&
63、gt; 上述都是對一元函數(shù)求積分,對多元函數(shù)求積分, 當積分區(qū)域為矩形區(qū)域時,可由MATLAB內(nèi)部函數(shù)實現(xiàn):命令格式: dblquad(fun,a,b,c,d,tol,method),其中fun可以是字符串、內(nèi)聯(lián)函數(shù)或M文件函數(shù)句柄,method為積分方法(默認@quad) ,其他同上。當積分區(qū)域為一般區(qū)域時,MATLAB沒有相應的內(nèi)部函數(shù)。我們可以沿用一元函數(shù)數(shù)值積分的方法求解。</p><p> 6 M
64、ATLAB GUI在二重積分計算中的應用</p><p> 6.1 符號解法的應用</p><p> 例1:計算二重積分,積分區(qū)域Ω是所圍成的封閉區(qū)域</p><p> 解:1.打開GUI設計工具,選擇空白模塊,在布局編輯器中布置空間:</p><p> (1)建立2個坐標軸對象,用于顯示函數(shù)的表達式和函數(shù)的積分區(qū)域。</p&
65、gt;<p> (2)建立2個按鈕,分別用來求函數(shù)二重積分和結(jié)束程序。</p><p> ?。?)建立4個靜態(tài)文本標簽,顯示相應控件的提示和積分結(jié)果。</p><p> 同時設置控件的相關(guān)屬性,界面設計圖形如下所示,保存為wmqgui2.fig文件。</p><p> 2.打開wmqgui2.m文件,添加相應的代碼:</p><
66、;p> function varargout = wmqgui2(varargin)</p><p> % WMQGUI2 M-file for wmqgui2.fig</p><p> % WMQGUI2, by itself, creates a new WMQGUI2 or raises the existing</p><p> % singl
67、eton*.</p><p> % H = WMQGUI2 returns the handle to a new WMQGUI2 or the handle to</p><p> % the existing singleton*.</p><p> % WMQGUI2('CALLBACK',hObject,eventData,handle
68、s,...) calls the local</p><p> % function named CALLBACK in WMQGUI2.M with the given input arguments.</p><p> % WMQGUI2('Property','Value',...) creates a new WMQGUI2 or raises
69、the</p><p> % existing singleton*. Starting from the left, property value pairs are</p><p> % applied to the GUI before wmqgui_OpeningFunction gets called. An</p><p> % unrecog
70、nized property name or invalid value makes property application</p><p> % stop. All inputs are passed to wmqgui2_OpeningFcn via varargin.</p><p> % *See GUI Options on GUIDE's Tools menu.
71、 Choose "GUI allows only one</p><p> % instance to run (singleton)".</p><p> % See also: GUIDE, GUIDATA, GUIHANDLES</p><p> % Copyright 2002-2003 The MathWorks, Inc.&l
72、t;/p><p> % Edit the above text to modify the response to help wmqgui2</p><p> % Last Modified by GUIDE v2.5 14-Mar-2011 21:00:15</p><p> % Begin initialization code - DO NOT EDIT&l
73、t;/p><p> gui_Singleton = 1;</p><p> gui_State = struct('gui_Name', mfilename, ...</p><p> 'gui_Singleton', gui_Singleton, ...</p><p> 'gui_
74、OpeningFcn', @wmqgui2_OpeningFcn, ...</p><p> 'gui_OutputFcn', @wmqgui2_OutputFcn, ...</p><p> 'gui_LayoutFcn', [] , ...</p><p> 'gui_Callback', [
75、]);</p><p> if nargin && ischar(varargin{1})</p><p> gui_State.gui_Callback = str2func(varargin{1});</p><p><b> end</b></p><p> if nargout</p
76、><p> [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});</p><p><b> else</b></p><p> gui_mainfcn(gui_State, varargin{:});</p><p><b> end&l
77、t;/b></p><p> % End initialization code - DO NOT EDIT</p><p> % --- Executes just before wmqgui is made visible.</p><p> function wmqgui2_OpeningFcn(hObject, eventdata, handle
78、s, varargin)</p><p> % This function has no output args, see OutputFcn.</p><p> % hObject handle to figure</p><p> % eventdata reserved - to be defined in a future version of
79、 MATLAB</p><p> % handles structure with handles and user data (see GUIDATA)</p><p> % varargin command line arguments to wmqgui (see VARARGIN)</p><p> I=imread('wmqgui2
80、','jpg');</p><p> axes(handles.axes1);</p><p><b> image(I)</b></p><p><b> axis off;</b></p><p> % Choose default command line ou
81、tput for wmqgui</p><p> handles.output = hObject;</p><p> % Update handles structure</p><p> guidata(hObject, handles);</p><p> % UIWAIT makes wmqgui wait for user
82、response (see UIRESUME)</p><p> % uiwait(handles.figure1);</p><p> % --- Outputs from this function are returned to the command line.</p><p> function varargout = wmqgui2_OutputF
83、cn(hObject, eventdata, handles) </p><p> % varargout cell array for returning output args (see VARARGOUT);</p><p> % hObject handle to figure</p><p> % eventdata reserved -
84、to be defined in a future version of MATLAB</p><p> % handles structure with handles and user data (see GUIDATA)</p><p> % Get default command line output from handles structure</p>
85、<p> varargout{1} = handles.output;</p><p> % --- Executes on button press in jifen_pushbutton.</p><p> function jifen_pushbutton_Callback(hObject, eventdata, handles)</p><p&g
86、t; % hObject handle to jifen_pushbutton (see GCBO)</p><p> % eventdata reserved - to be defined in a future version of MATLAB</p><p> % handles structure with handles and user data (se
87、e GUIDATA)</p><p> axes(handles.axes2);</p><p> t=0:0.001:2*pi;</p><p><b> x=sin(t);</b></p><p><b> y=cos(t);</b></p><p> c=[0
88、.1,0.1,0.1];</p><p> fill(x,y,'b');hold on;</p><p><b> syms x y;</b></p><p> s=int(int(sqrt(1-x^2),y,-sqrt(1-x^2),sqrt(1-x^2)),x,-1,1);</p><p>
89、m=eval(s);</p><p> set(handles.jifen_text,'String',num2str(m));</p><p> % --- Executes on button press in close_text.</p><p> function close_text_Callback(hObject, eventd
90、ata, handles)</p><p><b> close</b></p><p> % hObject handle to close_text (see GCBO)</p><p> % eventdata reserved - to be defined in a future version of MATLAB<
91、;/p><p> % handles structure with handles and user data (see GUIDATA)</p><p> % --------------------------------------------------------------------</p><p> function jifen_menu_C
92、allback(hObject, eventdata, handles)</p><p> % hObject handle to jifen_menu (see GCBO)</p><p> % eventdata reserved - to be defined in a future version of MATLAB</p><p> % ha
93、ndles structure with handles and user data (see GUIDATA)</p><p> jifen_pushbutton_Callback(hObject, eventdata, handles)</p><p> % -----------------------------------------------------------
94、---------</p><p> function close_menu_Callback(hObject, eventdata, handles)</p><p><b> close</b></p><p> % hObject handle to close_menu (see GCBO)</p><p
95、> % eventdata reserved - to be defined in a future version of MATLAB</p><p> % handles structure with handles and user data (see GUIDATA)</p><p> % ------------------------------------
96、--------------------------------</p><p> function file_menu_Callback(hObject, eventdata, handles)</p><p> % hObject handle to file_menu (see GCBO)</p><p> % eventdata reserve
97、d - to be defined in a future version of MATLAB</p><p> % handles structure with handles and user data (see GUIDATA)</p><p> 3.運行程序后,單擊“二重積分”的選項,得到二重積分的解,如下圖所示:</p><p> 6.2 數(shù)
98、值解法的應用</p><p> 例2:計算二重積分,積分區(qū)域Ω是y=2x,y=-2x+4和y=0所圍成的封閉區(qū)域</p><p> 解:1.打開GUI設計工具,選擇空白模塊,在布局編輯器中布置空間:</p><p> (1)建立2個坐標軸對象,用于顯示函數(shù)的表達式和函數(shù)的積分區(qū)域。</p><p> ?。?)建立2個按鈕,分別用來求函數(shù)
99、二重積分和結(jié)束程序。</p><p> ?。?)建立1個可編輯文本框,用來輸入積分步長。</p><p> (4)建立5個靜態(tài)文本標簽,顯示相應控件的提示和積分結(jié)果</p><p> 同時設置控件的相關(guān)屬性,界面設計圖形如下所示,保存為wmqgui.fig文件。</p><p> 2.打開wmqgui.m文件,添加相應的代碼:</
100、p><p> function varargout = wmqgui(varargin)</p><p> % WMQGUI M-file for wmqgui.fig</p><p> % WMQGUI, by itself, creates a new WMQGUI or raises the existing</p><p> %
101、singleton*.</p><p> % H = WMQGUI returns the handle to a new WMQGUI or the handle to</p><p> % the existing singleton*.</p><p> % WMQGUI('CALLBACK',hObject,eventData,hand
102、les,...) calls the local</p><p> % function named CALLBACK in WMQGUI.M with the given input arguments.</p><p> % WMQGUI('Property','Value',...) creates a new WMQGUI or raises t
103、he</p><p> % existing singleton*. Starting from the left, property value pairs are</p><p> % applied to the GUI before wmqgui_OpeningFunction gets called. An</p><p> % unrecogn
104、ized property name or invalid value makes property application</p><p> % stop. All inputs are passed to wmqgui_OpeningFcn via varargin.</p><p> % *See GUI Options on GUIDE's Tools menu.
105、Choose "GUI allows only one</p><p> % instance to run (singleton)".</p><p> % See also: GUIDE, GUIDATA, GUIHANDLES</p><p> % Copyright 2002-2003 The MathWorks, Inc.<
106、/p><p> % Edit the above text to modify the response to help wmqgui</p><p> % Last Modified by GUIDE v2.5 14-Mar-2011 21:00:15</p><p> % Begin initialization code - DO NOT EDIT</
107、p><p> gui_Singleton = 1;</p><p> gui_State = struct('gui_Name', mfilename, ...</p><p> 'gui_Singleton', gui_Singleton, ...</p><p> 'gui_Ope
108、ningFcn', @wmqgui_OpeningFcn, ...</p><p> 'gui_OutputFcn', @wmqgui_OutputFcn, ...</p><p> 'gui_LayoutFcn', [] , ...</p><p> 'gui_Callback', []);&l
109、t;/p><p> if nargin && ischar(varargin{1})</p><p> gui_State.gui_Callback = str2func(varargin{1});</p><p><b> end</b></p><p> if nargout</p>
110、<p> [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});</p><p><b> else</b></p><p> gui_mainfcn(gui_State, varargin{:});</p><p><b> end</b&
111、gt;</p><p> % End initialization code - DO NOT EDIT</p><p> % --- Executes just before wmqgui is made visible.</p><p> function wmqgui_OpeningFcn(hObject, eventdata, handles, var
112、argin)</p><p> % This function has no output args, see OutputFcn.</p><p> % hObject handle to figure</p><p> % eventdata reserved - to be defined in a future version of MATLA
113、B</p><p> % handles structure with handles and user data (see GUIDATA)</p><p> % varargin command line arguments to wmqgui (see VARARGIN)</p><p> set(handles.dx_edit,'St
114、ring',0.001);</p><p> I=imread('wmqgui','jpg');</p><p> axes(handles.axes1);</p><p><b> image(I)</b></p><p><b> axis off;</
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二重積分計算的matlab gui 設計[開題報告]
- 二重積分計算的matlab gui 設計[文獻綜述]
- 二重積分計算
- 二重積分計算的matlab gui設計【信息科學與技術(shù)專業(yè)】【畢業(yè)設計+文獻綜述+開題報告】
- 計算二重積分的幾種方法數(shù)學專業(yè)畢業(yè)論文
- 二重積分的換元(變換) 計算二重積分時,由于某些幾分區(qū)域
- 二重積分的應用
- 二重積分說課
- 二重積分練習題
- 數(shù)值積分的matlab gui設計[畢業(yè)論文]
- 10-2二重積分的計算法ppt課件
- [學習]二重積分的概念及性質(zhì)
- 二重積分積分區(qū)域的對稱性
- 高數(shù)二重積分習題解答
- 二重積分的等價定義及應用_宋澤成
- 二重積分對稱性定理的證明及應用
- 重積分的數(shù)值計算[畢業(yè)論文]
- 數(shù)值積分的matlab gui設計[文獻綜述]
- 第十五講、第十六講:二重積分的概念、計算及其應用的練習題答案
- 第十五講、第十六講:二重積分的概念、計算及其應用的練習題答案
評論
0/150
提交評論