国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于常微分方程數(shù)值解的GUI設(shè)計(jì)

2015-07-24 15:13劉芳
電腦知識(shí)與技術(shù) 2015年14期
關(guān)鍵詞:常微分方程

劉芳

摘要:常微分方程的數(shù)值解在工程技術(shù)中具有廣泛的應(yīng)用,同時(shí)也是高等教學(xué)中的重要部分。該文通過(guò)MATlAB的GUI設(shè)計(jì)功能,創(chuàng)建一個(gè)功能完善、界面友好的常微分方程數(shù)值解法的演示軟件。

關(guān)鍵詞:常微分方程;MATLAB;GUI

中圖分類號(hào):TP312 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)14-0223-02

Abstract: the numerical solution of ordinary differential equations is widely used in engineering technology, and is also an important part of higher education.. In this paper, the GUI MATlAB design function, create a functional perfect, user-friendly ordinary differential equation numerical solution of the demonstration software.

Key words: ordinary differential equation; MATLAB; GUI

在自然科學(xué)和工程技術(shù)等領(lǐng)域,經(jīng)常需要求解常微分方程,然而只有簡(jiǎn)單的和典型的微分方程可以求出解析解,所以往往需要求出常微分方程初值問(wèn)題的數(shù)值解,而且在大學(xué)課程中單一的課堂粉筆式教學(xué)方式已經(jīng)不能滿足現(xiàn)代化教學(xué)的需要。為了解決上述問(wèn)題,本文通過(guò)使用MATLAB的GUI設(shè)計(jì)功能,創(chuàng)建出常微分方程數(shù)值解法的演示軟件,能夠直觀、形象的實(shí)現(xiàn)常微分方程數(shù)值解法的理論講解和算法演示。

1 GUI設(shè)計(jì)原理

MATLAB的GUI設(shè)計(jì)主要分為如下兩個(gè)階段:

第一階段: 軟件界面的布局設(shè)計(jì)。使用MATLAB提供的設(shè)計(jì)向?qū)?,?duì)軟件圖形界面進(jìn)行布局,合理擺放控件位置并添加必要屬性,設(shè)計(jì)菜單。

第二階段: 軟件功能的設(shè)計(jì)。實(shí)現(xiàn)每個(gè)控件和菜單的功能,編寫(xiě)對(duì)應(yīng)的回調(diào)函數(shù),整體實(shí)現(xiàn)軟件的所有功能。

2 具體過(guò)程

本軟件的設(shè)計(jì)主要集成了常微分方程初值問(wèn)題數(shù)值解法中的Euler方法、預(yù)測(cè)校正系統(tǒng)、改進(jìn)Euler方法和龍格—庫(kù)塔方法。通過(guò)設(shè)計(jì)一個(gè)主界面(圖 1),在主界面中點(diǎn)擊不同的命令按鈕,打開(kāi)對(duì)應(yīng)的方法界面(圖 2),每個(gè)方法界面中有關(guān)于該方法的背景故事、理論講解、例題講解和算法演示,其中算法演示為本軟件的核心內(nèi)容。

界面布局:靜態(tài)文本框,提供輸入和輸出結(jié)果的提示;可編輯文本框,供使用者輸入所需求解問(wèn)題參數(shù);坐標(biāo)軸控件,顯示計(jì)算結(jié)果;命令按鈕,接受用戶命令,如圖 3。

操作步驟:

1)在MATLAB主界面,依次點(diǎn)擊 文件→新建→GUI ,打開(kāi)MATLAB向?qū)Ь庉嬈鳎℅UIDE),新建空白GUI界面。

2)在GUI設(shè)計(jì)界面,將所需控件拖拽到Figure窗口,擺放到恰當(dāng)位置,完成圖 3布局。

3)雙擊控件,彈出控件屬性編輯窗口,在這里編輯控件屬性,包括長(zhǎng)度、寬度、文本等屬性值。

控件常用屬性如下:

① Tag屬性:用來(lái)對(duì)控件進(jìn)行標(biāo)記,在編寫(xiě)回調(diào)函數(shù)時(shí),通過(guò)控件的Tag屬性獲取對(duì)象,以實(shí)現(xiàn)獲取和改變控件的顯示內(nèi)容。

② String屬性:可以初始化輸入框的內(nèi)容,在編寫(xiě)回調(diào)函數(shù)時(shí)也可以通過(guò)這個(gè)屬性獲取輸入框的內(nèi)容。

③ max和min屬性:控制輸入框的文本模式。當(dāng) max-min >1時(shí),輸入框能夠輸入和顯示多行的內(nèi)容;當(dāng)max-min<=1時(shí),輸入框只能輸入和顯示一行的內(nèi)容。

④ Visible 屬性:定義控件是否對(duì)用戶可見(jiàn),初始值為on。

⑤ Callback屬性:指定控件的回調(diào)函數(shù)。指定控件的Callback屬性后,就告訴了MATLAB當(dāng)我們按下該按鈕時(shí)就執(zhí)行這個(gè)函數(shù),對(duì)數(shù)據(jù)進(jìn)行處理以及在界面顯示結(jié)果。

4)功能設(shè)計(jì):編寫(xiě)功能按鈕的回調(diào)函數(shù):

① “數(shù)值解”按鈕的callback函數(shù)設(shè)計(jì):

3 小結(jié)

通過(guò)這種界面設(shè)計(jì),使得常微分方程數(shù)值解法的演示與計(jì)算變得直觀、高效。同樣數(shù)值計(jì)算中的其他方法也能夠像這樣設(shè)計(jì)成簡(jiǎn)潔易操作的界面,如數(shù)值積分等。這樣的圖形用戶界面,為老師提供了一個(gè)方便的課題講解方法,為數(shù)值計(jì)算工作者提供了一個(gè)簡(jiǎn)單實(shí)用的計(jì)算工具。

參考文獻(xiàn):

[1] 胡健偉. 微分方程數(shù)值方法[M]. 2版. 北京:科學(xué)出版社.2007.

[2] 李榮華. 微分方程數(shù)值解法[M]. 3版. 北京:高等教育出版社.1997.

[3] 張德豐. MATLAB數(shù)值計(jì)算方法[M]. 北京:機(jī)械工業(yè)出版社.2010.

猜你喜歡
常微分方程
淺談常微分方程與大學(xué)生創(chuàng)新培養(yǎng)的聯(lián)系
基于常微分方程的數(shù)學(xué)建模問(wèn)題的求解
常微分方程的教學(xué)探討
數(shù)學(xué)建模在高數(shù)教學(xué)中的應(yīng)用
常微分方程新的可解類型及在經(jīng)濟(jì)學(xué)中的應(yīng)用
常微分方程的思想方法及對(duì)經(jīng)濟(jì)管理的影響