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

?

MATLAB GUI在水力計算中的應用

2015-04-20 06:25:34呂良軍郝振莉
關鍵詞:明渠控件水深

呂良軍,郝振莉

MATLAB GUI在水力計算中的應用

呂良軍,郝振莉

(黃河水利職業(yè)技術學院,河南 開封 475004)

以MATLAB軟件為設計平臺,進行流態(tài)可視化操作界面的功能設計、控件選擇和邊界布局,通過梯形明渠求解正常水深的案例,闡述以GUI為人機交互界面,方便地解決各種復雜的水力計算問題。

MATLAB GUI;可視化設計;梯形明渠;水力計算;數值分析

0 引言

水力計算內容涵蓋了管道、明渠、堰閘、水壩、滲流等諸多工程領域的計算問題,其中涉及許多筆算難以解決的問題。如,求解明渠臨界水深與正常水深,若用Microsoft Excel進行計算,簡單快捷,但缺乏數據可視化[1]。MATLAB軟件是目前常用的工程軟件,它集數值計算、矩陣計算和圖形繪制等功能于一體,廣泛應用于各種數學及工程計算中。將MATLAB數值計算方法與水力計算相結合,可以大大縮短計算時間,提高計算精度和工作效率。MATLAB圖形用戶界面(Graphical User Interface,簡稱GUI)平臺實現了人機交互,不但使計算更加簡捷明了,而且其執(zhí)行動作和變化能滿足用戶的需求[2]。文獻[3]給出用MATLAB數值計算求解明渠臨界水深的方法,但它只能在命令窗口中運行,不方便工程人員使用。

圖形用戶界面是由窗口、光標、按鍵、菜單、文字說明等對象構成的一個用戶界面。用戶通過一定的方法(如鼠標或鍵盤)選擇、激活這些圖形對象,使計算機產生某種動作或變化,比如實現計算、繪圖等。MATLAB GUI開發(fā)環(huán)境提供了一套可視化的創(chuàng)建圖形窗口的工具,方便用戶在此環(huán)境下開發(fā)界面并快捷地創(chuàng)建GUI應用程序,它可以根據用戶設計的GUI布局,自動生成M文件的框架,供用戶編制應用程序。筆者探討了MATLAB GUI在水力計算中的應用。

1 GUI設計的原則和步驟[4]

1.1 GUI設計的原則

在設計GUI時,應遵守簡單性、一致性及習常性的原則。設計界面時,應力求簡潔、直接、清晰地體現出界面的功能和特征,并盡量使風格一致。此外,還應使用人們所熟悉的標志與符號。

1.2 GUI設計的步驟

(1)明確設計任務,構思草圖。在命令窗口直接輸入命令GUIDE。在創(chuàng)建新的GUI時,MATLAB提供空白模板、帶有控制按鈕模板、帶有坐標軸和菜單模板、問答式對話框模板4種模板。

(2)設計界面,添加控件和設置屬性??丶臉俗R(Tag)是對于各控件的識別。每個控件創(chuàng)建時,都會由開發(fā)環(huán)境自動產生一個標識。在程序設計中,為了編輯、記憶和維護的方便,一般為控件設置一個新的標識。

(3)編寫代碼,實現控件的交互作用。GUI圖形界面的功能要通過一定的設計思路和計算方法,由特定的程序來實現。為了實現程序的功能,還需要在運行程序前編寫一些代碼,完成程序中變量的賦值、輸入、輸出、計算及繪圖等工作。

2 GUI在渠道水力計算中的應用

2.1 已知條件[5]

如圖1所示,一梯形斷面渠道,已知流量Q=450 m3/s,邊坡系數m=1,渠道糙率n=0.025,渠道的底寬b=45m,底坡i=0.32/1 000,求正常水深h0。

圖1 梯形明渠斷面圖Fig.1 Trapezoidal open channel cross-section

式中:i為明渠底坡;n為明渠糙率;A為過水斷面面積;R為水力半徑;R=A/χ,χ為濕周。

明渠均勻流流量Q的計算公式為。所以,公式(1)可變?yōu)?/p>

此時,解得f(h)的水深便為正常水深h0。

2.2 用GUI實現計算

2.2.1 創(chuàng)建M函數文件

將式(2)和式(4)編寫成如下M函數文件,并保存在matlab的work文件夾中,備用。

2.2.2 布置控件

構思草圖,形成框架,在布局編輯器中布置控件。使用幾何位置排列工具對控件的位置進行調整。建立3個坐標軸對象,分別用于顯示梯形水渠、公式、水量與水深函數圖像。建立3個按鈕,用來繪圖、

式(2)可變形為

當其他條件已知,只有水深未知時,式(3)左端只是水深的函數。于是,可令求解和結束程序。建立8個靜態(tài)文本標簽,顯示相應控件的提示和計算結果。5個可編輯文本框,用來輸入參數值。界面設計布局如圖2所示。

圖2 計算界面設計布局圖Fig.2 Calculation interface design layout

2.2.3 設置控件的相關屬性

控件的標識Tag是對各控件的識別。每個控件創(chuàng)建時,都會由開發(fā)環(huán)境自動產生一個標識。在程序設計中,為了編輯、記憶和維護的方便,一般為控件設置新的標識。

本文設置 3個按鈕的 Tag標識分別為:solve_puhbtton、huitu_puhbtton、close_puhbtton;設置5個可編輯文本框的Tag標識分別為:b_edit、m_edit、n_edit、i_edit、Q_edit。用來顯示計算水深結果的靜態(tài)文本標簽Tag標識為:h0_text。另外,建立一級菜單file,在其下設置solve、huitu和close 3個子菜單項。

2.2.4 編寫代碼,實現控件的交互作用

編寫代碼,完成程序中變量的賦值、輸入、輸出及繪圖等工作。在程序初始化的時候,顯示梯形水渠、公式、水量與水深函數圖像,輸入默認數值,代碼如下:

plot([h2 h2],[0 Q2],'r-*');%%%驗證計算結果

xlabel('正常水深');ylabel('水流量')

legend('Q=f(h)',4);hold off

按鈕close_pushbutton調用close函數關閉結束程序。

2.2.5 運行調試程序

單擊“solve”和“繪圖”按鈕后,運行結果如圖3所示。圖3中,求得水深h0=4.8863m。該結果在流量與水深函數圖中得到驗證。

圖3 梯形斷面正常水深計算圖Fig.3 Normal water depth calculation of trapezoidal cross-section

在整個GUI界面中,有圖、公式、各參數值,實現了數據的可視化。每次只需在相應的編輯文本框中輸入對應數值,單擊solve和繪圖按鈕,就可實現求解。如在文獻[5]中,梯形渠道的底寬b=7m,邊坡系數m=1.5,底坡i=0.0003,渠道糙率n=0.025,渠道流量Q=9.68m3/s,計算正常水深h0。此時,只需在相應的編輯文本框中輸入對應數值,單擊solve和繪圖按鈕,就可實現如圖4所示的結果 (求得水深h0=1.4441m)。

又如,在計算河道過水斷面面積計算中,只需在離左岸距離,水深,內插點數編輯框中輸入實測數據和計算精度要求后,點擊計算按鈕,就能求得結果S=22.1044m2,并給出如圖5所示的示意圖。

4 結語

本文以在MATLAB環(huán)境中如何實現數值計算方法為主線,以水力經典案例為驅動,解決水力計算問題。通過一個具體案例研究GUI系統(tǒng)的可視化操作界面的結構設計、功能設計以及控件的選擇和布局、控件功能的實現。

以MATLAB為自由工作平臺,以GUI為人機交互界面,筆者堅信,通過大家的共同努力,建立完整的數值計算方法知識系統(tǒng),必然可以更多地解決各種復雜的水力計算問題。由于數值計算方法的通用性,最終可具備解決諸多領域工程計算的能力。

圖4 梯形斷面明渠正常水深計算圖Fig.4 Normal water depth calculation of trapezoidal open channel cross-section

[1]張宇華.M icrosoft Excel在水力計算中的應用[J].黃河水利職業(yè)技術學院學報,2009(10):16-18.

[2]呂良軍,楊盛用.Matlab在大學物理中應用的幾個實例[J].中國科技信息,2008(19):250-251.

圖5 河道過水斷面面積計算Fig.5 River way discharge section area calculation

[3]霍倩.Matlab數值計算方法及其在水力計算中的應用[M].北京:中國建筑工業(yè)出版社,2013:90-99.

[4]陳垚光.精通MATLAB GUI設計[M].北京:電子工業(yè)出版社,2011.100-105.

[5]羅全勝,王勤香.水力分析與計算[M].鄭州:黃河水利出版社,2011:111-113.

[責任編輯 楊明慶]

TV131.4

B

1008-486X(2015)03-0047-04

2015-05-19

河南省科技發(fā)展計劃基礎與前沿研究項目(項目編號:132300410142河南科技廳);黃河水利職業(yè)技術學院科學技術項目水力學計算的MATLAB數學實驗系統(tǒng)設計研究(2015KXJS011)。

呂良軍(1969-),男,浙江寧波人,副教授,主要從事高?;A數學教學與研究工作。

猜你喜歡
明渠控件水深
書法靜水深流
河北水利(2022年10期)2022-12-29 11:48:12
基于水深分段選擇因子的多光譜影像反演水深
海洋通報(2022年4期)2022-10-10 07:40:32
導流明渠交通橋吊模施工技術應用
工程與建設(2019年5期)2020-01-19 06:22:54
農田灌溉明渠水量計量方式分析
中華建設(2019年7期)2019-08-27 00:50:24
關于.net控件數組的探討
軟件(2018年7期)2018-08-13 09:44:42
沙基段明渠防滲方案的選擇
GPS RTK技術在水深測量中的應用
浸入式水深監(jiān)測儀器的設計
大型輸水明渠高填方段渠堤防滲和穩(wěn)定措施
河南科技(2014年18期)2014-02-27 14:14:50
就這樣玩會VBA中常見的自定義控件
電腦迷(2012年24期)2012-04-29 00:44:03
甘孜县| 汾西县| 高青县| 岳阳市| 仙桃市| 浮梁县| 新疆| 吴忠市| 仁化县| 右玉县| 府谷县| 沂水县| 玉林市| 宜川县| 武乡县| 寻乌县| 镇平县| 周口市| 曲阜市| 靖安县| 菏泽市| 莱阳市| 武汉市| 崇仁县| 盐城市| 栖霞市| 铁岭县| 平谷区| 万荣县| 麟游县| 光山县| 准格尔旗| 勃利县| 高雄市| 博兴县| 会宁县| 东台市| 曲麻莱县| 靖江市| 桓台县| 公安县|