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

?

基于MATLAB GUI的數(shù)值分析實驗系統(tǒng)設(shè)計

2017-08-09 19:55:32張光輝
關(guān)鍵詞:控件菜單數(shù)值

張光輝,任 敏

(宿州學(xué)院數(shù)學(xué)與統(tǒng)計學(xué)院,安徽 宿州 234000)

?

基于MATLAB GUI的數(shù)值分析實驗系統(tǒng)設(shè)計

張光輝,任 敏

(宿州學(xué)院數(shù)學(xué)與統(tǒng)計學(xué)院,安徽 宿州 234000)

目的 針對數(shù)值分析課程理論性較強,對具體算法進行形象化演示,以提高教學(xué)效果。方法 對數(shù)值分析課程體系進行整合,分析不同知識模塊,建立基于MATLAB GUI平臺的實驗教學(xué)系統(tǒng)。結(jié)果 以MATLAB軟件的GUI為平臺,建立實驗教學(xué)系統(tǒng)設(shè)計的基本原則及目標(biāo),對課程的插值與擬合、數(shù)值微分/積分、微分方程(組)數(shù)值解,線性方程(組)數(shù)值解,非線性方程(組)數(shù)值解等五大主要相對獨立的知識模塊進行綜合設(shè)計和開發(fā)。完成主、子界面之間的切換與鏈接,同一GUI文件不同回調(diào)函數(shù)間的數(shù)據(jù)傳輸?shù)汝P(guān)鍵問題,結(jié)合具體實例演示說明GUI設(shè)計在數(shù)值分析實驗系統(tǒng)中的應(yīng)用。基于MALAB GUI所建立的數(shù)值分析實驗系統(tǒng)具有良好的交互性和實用性。結(jié)論 學(xué)生可以借助MATLAB軟件的GUI平臺求解和實踐數(shù)值分析的經(jīng)典問題和算法,體會數(shù)學(xué)知識的實用性,提高學(xué)生學(xué)習(xí)數(shù)值分析的興趣和效果。

數(shù)值分析實驗;教學(xué)系統(tǒng);MATLAB GUI

0 引 言

數(shù)值分析實驗課是數(shù)值分析課程的重要實踐環(huán)節(jié),在綜合性本科院校的眾多理工科專業(yè)中已廣泛開展,該課程有助于提升學(xué)生利用計算機求解各種數(shù)學(xué)問題的動手能力,促進大學(xué)生對數(shù)學(xué)由“學(xué)”到“用”的轉(zhuǎn)變有積極的推動作用[1-4]。數(shù)值分析相關(guān)算法理論性和實踐性都較強,MATLAB具有強大的數(shù)值計算及數(shù)據(jù)可視化能力,同時界面設(shè)計(MATLAB GUI)技術(shù)可以方便地構(gòu)建友好的人機交互系統(tǒng)界面,使用戶的操控變得靈活且方便。本文基于MATLAB GUI構(gòu)建數(shù)值分析實驗教學(xué)系統(tǒng)。利用該系統(tǒng),一方面,用戶可以直觀地感受和查看數(shù)值分析各種相關(guān)算法在GUI平臺上的實現(xiàn)效果;另一方面,可以更深入地研究GUI實驗教學(xué)系統(tǒng)本身,學(xué)習(xí)GUI系統(tǒng)的開發(fā)、完善及改進[5-8]。

1 數(shù)值分析實驗教學(xué)系統(tǒng)的設(shè)計

1.1 實驗教學(xué)系統(tǒng)平臺簡介

MATLAB GUI即圖形用戶界面,是實現(xiàn)人機交互的中介,具有強大的功能,可以完成許多復(fù)雜的程序模塊??丶?UIControl)和菜單(UIMenu)是GUI的兩大基本對象,利用GUI向?qū)?gòu)建仿真系統(tǒng)界面時,GUI設(shè)計會保存為兩個文件:1個是m文件,包含控制GUI的回調(diào)函數(shù)代碼;1個是fig文件,包含對GUI和GUI控件的描述?;贕UI設(shè)計過程中系統(tǒng)生成的m文件框架,用戶通過自己編寫相關(guān)代碼,對原有結(jié)構(gòu)進行完善或改進,實現(xiàn)面向用戶特定需要的功能。

1.2 基本設(shè)計原則及目標(biāo)

數(shù)值分析實驗教學(xué)系統(tǒng)按照數(shù)值分析課程內(nèi)容分為插值與擬合、數(shù)值微/積分、微分方程(組)數(shù)值解、線性方程(組)數(shù)值解、非線性方程(組)數(shù)值解五大主要相對獨立的知識模塊,借助MATLAB強大的計算繪圖功能,每個模塊針對相關(guān)內(nèi)容進行實驗系統(tǒng)的設(shè)計及開發(fā)[9-11]。該實驗教學(xué)系統(tǒng)以用戶為主體,使用戶通過界面上的按鈕和菜單一方面可以完成預(yù)定的實驗任務(wù),另外也可以根據(jù)自身興趣和專業(yè)需要,重新設(shè)計實驗內(nèi)容和修改界面設(shè)計及實驗參數(shù),完善或改進實驗,設(shè)計符合自己特定需要的實驗系統(tǒng)操作界面。另外,借助該系統(tǒng)將數(shù)值分析相應(yīng)的抽象的理論知識在動手實驗操作的過程中內(nèi)化為用戶認知結(jié)果,充分體現(xiàn)了系統(tǒng)的實用性。在MATLAB R2009a環(huán)境下,運行GUI,選擇空白模版,單擊OK按鈕,便可進入系統(tǒng)進行數(shù)值分析實驗教學(xué)系統(tǒng)主界面[12-14]。數(shù)值分析實驗教學(xué)系統(tǒng)的整體主界面效果如圖1所示。

圖1 實驗教學(xué)系統(tǒng)主界面 圖2 微分方程數(shù)值解實驗界面

該界面主要部分包括1個Static Text對象和5個pushbutton對象。左邊的Static Text對象用于提示用戶進入該教學(xué)系統(tǒng)的相應(yīng)操作,右邊pushbutton對象對應(yīng)于對該課程不同的知識模塊的選擇。

1.3 3個關(guān)鍵問題

(1)M文件編寫

打開M文件編輯器,單擊函數(shù)圖標(biāo),可以看到各個對象的回調(diào)函數(shù)、創(chuàng)建函數(shù)或打開函數(shù)等對系統(tǒng)設(shè)計及開發(fā)需要重點操作的選項,通過選擇相應(yīng)選項可跳到相應(yīng)位置進行程序設(shè)計及編輯。根據(jù)不同模塊的不同設(shè)計目標(biāo),進行相應(yīng)的計算復(fù)雜性好的代碼編寫,并及時保存非常關(guān)鍵。

(2)主、子界面之間的切換與鏈接

在相應(yīng)知識模塊的pushbutton按鈕的Callback函數(shù)用代碼close(gcf);set(0,'CurrentFigure',subgui)來實現(xiàn)由主界面GUI向相應(yīng)知識模塊的子界面GUI的鏈接。主界面上部添加了UIMenu菜單對象,用來實現(xiàn)對不同知識模塊的分類、選擇和執(zhí)行。菜單及相關(guān)子菜單的設(shè)計,需要編寫回調(diào)函數(shù)以實現(xiàn)具體的功能。

(3)同一GUI文件不同回調(diào)函數(shù)間的數(shù)據(jù)傳輸

借助handles結(jié)構(gòu),該結(jié)構(gòu)可以存儲GUI對象信息和一般變量,其基本語法結(jié)構(gòu)為

Handles.var_name=var_val%將變量值var_val存入Handles結(jié)構(gòu),變量名為var_name

Guidata(hObject,handles)%更新handles結(jié)構(gòu)數(shù)據(jù)

Get_val=Handles.var_name %提取變量名為var_name的變量值var_val以備后續(xù)使用

2 實驗教學(xué)系統(tǒng)子模塊的實例實現(xiàn)

為了更直觀地展示如何使用MATLAB GUI構(gòu)建數(shù)值分析實驗教學(xué)系統(tǒng),下面通過微分方程(組)數(shù)值解及線性方程(組)數(shù)值解子模塊的兩個實例,來介紹整個實驗教學(xué)系統(tǒng)的實現(xiàn)。

解:第一步,框架設(shè)計,在布局編輯器中布置控件,使用幾何位置排列工具對控件的位置進行調(diào)整,界面設(shè)計如圖2所示。

圖3 微分方程數(shù)值解實驗結(jié)果界面 圖4 求解線性方程組實驗界面

該界面主要有2個按鈕,分別用來求解方程和結(jié)束程序;2個坐標(biāo)軸對象,用于對微分方程的數(shù)值解進行可視化繪圖;4個可編輯文本框,用來輸入初始時間、終止時間,步長和初始條件;4個靜態(tài)文本框,用于標(biāo)識相應(yīng)控件的提示。

第二步,設(shè)置各個控件的相關(guān)屬性;建立菜單,用來求解微分方程和關(guān)閉圖形,其中包括一級菜單file,在其下設(shè)置兩個子菜單solve和close,執(zhí)行求解和關(guān)閉圖形功能。

最后,針對所求解微分方程,在M-FileEditor中編寫相關(guān)控件的Callback回調(diào)函數(shù)代碼完成程序中的求解和繪圖等工作。

圖3顯示的是采用初始時間、終止時間和初始條件及等步長的默認值運行程序結(jié)束后,所得的GUI界面。由圖3可知,用Euler法、改進的Euler、Runge-kutta法和函數(shù)解析解得求解結(jié)果進行了比較,Euler法的精度較差,改進的Euler和Runge-kutta法在解的精度上有較大的改進。

例2 用Guass消去法求解線性方程組AX=b實例。

解:首先構(gòu)思框架,布置控件,調(diào)整位置,界面設(shè)計(圖4)。

首先,該界面布置兩個按鈕,分別用來開始答題和結(jié)束程序;12個靜態(tài)文本框,用于顯示相應(yīng)控件的提示及顯示求解結(jié)果;其次,設(shè)置各個控件的相關(guān)屬性;建立菜單,用來求解線性方程組和結(jié)束答題,其中包括一級菜單file,在其下設(shè)置兩個子菜單solve和close,執(zhí)行求解和關(guān)閉圖形功能。最后,針對所求解線性方程組編寫代碼完成程序中的求解和顯示求解結(jié)果等工作。

圖5 線性方程組有唯一解結(jié)果界面 圖6 線性方程組無解結(jié)果界面

圖5、圖6為對線性方程組有唯一解、無解實驗實例所得結(jié)果,由結(jié)果界面可以看出,線性方程組解的情況的判定及結(jié)論可以很清楚地顯示出來。

3 結(jié) 論

基于數(shù)值分析實驗教學(xué)系統(tǒng)的開發(fā)及實踐,是培養(yǎng)和提高學(xué)生從學(xué)數(shù)學(xué)到用數(shù)學(xué)的動手能力與創(chuàng)新意識的需要,學(xué)生可以借助MATLAB軟件的GUI平臺求解和實踐數(shù)值分析的經(jīng)典問題和算法,親身體會到數(shù)學(xué)知識在社會各領(lǐng)域、各行業(yè)中的應(yīng)用,從而改變對數(shù)學(xué)的認識,培養(yǎng)及開發(fā)學(xué)生對數(shù)學(xué)“學(xué)以致用”的意識及能力。

[1]朱偉.將數(shù)學(xué)實驗的思想融入大學(xué)數(shù)學(xué)教學(xué)中的思考[J].重慶郵電大學(xué)學(xué)報(自然科學(xué)版),2008(S1):96-98.

[2]曹蓓,楊虎.重構(gòu)數(shù)學(xué)實驗體系與大學(xué)生數(shù)學(xué)創(chuàng)新能力培養(yǎng)[J].中國大學(xué)教學(xué),2010(11):68-69.

[3]許志剛.模糊綜合評價法在高校數(shù)學(xué)實驗教學(xué)質(zhì)量評價中的應(yīng)用[J].實驗室研究與探索,2009(28):110-112.

[4]黃寬娜,劉徽,李木華.基于信息技術(shù)的高等數(shù)學(xué)實驗教學(xué)模式研究[J].西南師范大學(xué)學(xué)報(自然科學(xué)版),2011(36):210-214.

[5]朱婷婷,趙林.基于MATLAB的信息隱藏課程的仿真實驗設(shè)計[J].實驗技術(shù)與管理,2009(26):87-89.

[6]袁海燕.應(yīng)用型人才培養(yǎng)模式下《數(shù)值分析》教學(xué)改革的幾點探討[J].教學(xué)理論,2012,11(03):133-134.

[7]李寶方,邢玉清.基于MATLAB GUI 的數(shù)字圖像仿真系統(tǒng)設(shè)計[J].計算機與數(shù)字工程,2014,42(11):2177-2180.

[8]唐世星.基于MATLAB的高等數(shù)學(xué)實驗圖形用戶界面系統(tǒng)開發(fā)[J].實驗室探索與研究,2012,31(09):201-204

[9]萬中,韓旭里.?dāng)?shù)值分析課程教學(xué)的新認識及改革實踐[J].?dāng)?shù)學(xué)教育學(xué)報,2008,17(02):65-67.

[10]曾繁慧,高雷阜.基于MATLAB的“數(shù)值分析”教學(xué)改革研究[J].中國電子教育,2008,12(01):48-52.

[11]吳勃英,王勇.數(shù)值分析課網(wǎng)絡(luò)實驗平臺建設(shè)體會[J].大學(xué)數(shù)學(xué),2007,23(03):13-14.

[12]馮崇嶺,劉升,陳國龍,等.MATLAB在數(shù)值分析課程教學(xué)與實驗中的應(yīng)用[J].淮北煤炭師范學(xué)院學(xué)報(自然科學(xué)版),2008,29(01):88-91.

[13]張光輝,任敏.MATLAB平臺上一些物理現(xiàn)象的仿真研究[J].德州學(xué)院學(xué)報,2013,29(04):31-33.

[14]張光輝,馮曼,李茹.用Matlab軟件優(yōu)化數(shù)值分析課堂教學(xué)的探討[J].蚌埠學(xué)院學(xué)報,2015,4(03):138-141.

[責(zé)任編輯:毛微曦 英文編輯:劉彥哲]

Design of Numerical Analysis Experimental System Based on MATLAB GUI

ZHANG Guang-hui,REN Min

(College of Mathematics and Statistics,Suzhou University,Suzhou,Anhui 234000,China)

Objective Numerical analysis is a stronger theoretical subject,and to improve teaching effect of specific algorithm needs visual demonstration.Methods The numerical analysis course system is integrated,and an experimental teaching system based on MATLAB GUI is established for different knowledge modules.Results On the platform of MATLAB GUI,the design principles and objectives of experimental teaching system are established.The integrated design and development are fulfilled for the main relatively independent knowledge modules,such as interpolation and fitting,numerical differential/integral,differential equations(group)numerical solution,linear equations(group)numerical solution,and nonlinear equations(group)numerical solution.The key issues,such as the switch and link between the main and sub interface,the data transmission of different callback function of the same GUI,are completed.The application of GUI in teaching of numerical analysis experiment combined with specific examples is illustrated and the system has good interactivity and practicability.Conclusion Students can use MATLAB software GUI platform to solve and practice classical problems and algorithms of numerical analysis,and experience the usefulness of mathematical knowledge.It is helpful to improve students' learning interest and effect of numerical analysis.

numerical analysis experiment;teaching system;MATLAB GUI

宿州學(xué)院教學(xué)研究項目(szxy2016jy25;szxy2015jy09);宿州學(xué)院特色教研室項目(szxytjys201302)

張光輝(1980-),男,河北保定人,講師,碩士研究生,研究方向為研究算法設(shè)計與圖像處理。

TP 273

A

10.3969/j.issn.1673-1492.2017.09.010

來稿日期:2016-12-14

猜你喜歡
控件菜單數(shù)值
用固定數(shù)值計算
數(shù)值大小比較“招招鮮”
中國新年菜單
關(guān)于.net控件數(shù)組的探討
軟件(2018年7期)2018-08-13 09:44:42
本月菜單
美食堂(2017年1期)2017-01-13 01:37:42
基于Fluent的GTAW數(shù)值模擬
焊接(2016年2期)2016-02-27 13:01:02
一個“公海龜”的求偶菜單
鴨綠江(2013年10期)2013-03-11 19:41:55
就這樣玩會VBA中常見的自定義控件
電腦迷(2012年24期)2012-04-29 00:44:03
帶凹腔支板的數(shù)值模擬
在PowerBuUder中利用WinSock控件制作簡單的Web服務(wù)器
巴塘县| 长治市| 绍兴县| 合肥市| 南皮县| 巴彦淖尔市| 惠安县| 临朐县| 黎城县| 洱源县| 安远县| 沅陵县| 盐池县| 当阳市| 香格里拉县| 延吉市| 烟台市| 喜德县| 名山县| 慈利县| 大方县| 宣汉县| 开平市| 珠海市| 平江县| 黄山市| 海原县| 丰城市| 普洱| 周口市| 海兴县| 禹城市| 皋兰县| 连城县| 松桃| 朝阳县| 信丰县| 华坪县| 海淀区| 岳普湖县| 屯留县|