999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

糧倉建筑氣密性預測軟件的開發

2020-01-14 07:18:56郭治洪童滬琨張夢歌劉震華李建平陳光中
工程建設與設計 2020年1期
關鍵詞:界面模型研究

郭治洪,童滬琨,張夢歌,劉震華,李建平,陳光中

(1.河南工業大學信息科學與工程學院,鄭州450001;2.河南工業大學土木建筑學院,鄭州450001)

1 引言

糧倉建筑的氣密性對于儲糧安全具有重要意義,在以往的糧倉建筑設計中,缺乏針對糧倉設計方案與糧倉氣密性的關系進行量化分析的工具,糧倉設計人員在進行糧倉建筑氣密性設計時需要可供參考的依據[1]。本研究試圖建立糧倉設計特征變量與糧倉氣密性的回歸模型,開發出可以根據影響糧倉氣密性的相關因素對糧倉氣密性進行提前預估的軟件,方便糧倉設計人員依照糧倉氣密性預測結果改進設計方案,提高儲糧的安全性,減少糧食產后損失。

建立糧倉建筑設計方案特征變量與糧倉氣密性指標的回歸模型需要一定數量的已建成糧倉的氣密性數據,由于受到人力和財力限制,已建成糧倉的氣密性數據為小樣本數據。在文獻[1]中,支持向量機和bootstrap 方法相結合,將影響糧倉氣密性的特征變量值進行歸一化和Onehot 編碼,建立回歸模型進行氣密性區間預測,測試表明,糧倉氣密性的區間預測取得了較好的效果。該軟件的計算方法是:一方面,采用支持向量機建立糧倉氣密性回歸模型,利用該回歸模型對糧倉氣密性指標進行點預測;另一方面,將糧倉氣密性回歸模型與bootstrap 方法相結合,實現對糧倉氣密性指標的區間預測,區間預測采用了文獻[1]提出的方法。

由臺灣大學林智仁先生開發的LIBSVM 支持向量機工具箱[2]被廣泛應用于工業、農業、交通、電力、醫學等多學科研究分析預測過程中[3~6]。為方便設計人員預測糧倉設計方案的氣密性,本研究使用LIBSVM 工具箱,并采取C++ GUI 框架Qt與MATLAB 混合編程相結合的方式開發了應用軟件EAGDS 1.0,混合編程可以把MATLAB 強大的計算能力和Qt 優秀的軟件界面設計性能結合起來[7,8]。本研究的軟件界面設計美觀實用,簡約大方,操作方便。該軟件使用多線程加速技術[9]防止卡頓,能夠讓使用者獲得良好的體驗。為了確保數據安全,該軟件加入正則表達式功能對用戶輸入進行限制[10],使用異常警告來提示突發情況,幫助使用者分析和解決問題。軟件使用界面如圖1 所示。

圖1 EAGDS 1.0 軟件界面圖

2 計算原理

2.1 數據預處理

數據集合表現為矩陣形式,矩陣每一行為一條數據,每一列與一個變量相對應。糧倉設計特征變量包括數值變量和種類變量,數值變量的變量值可以比較大小和排序,如墻厚、建筑面積等;種類變量的變量值不可比較大小和排序,如倉型、屋蓋類型等。

在數據預處理階段,對數值變量數據進行歸一化,歸一化計算公式如下:

式中,xij表示矩陣中第i行第j列的數據;x′i表示歸一化后的數據表示第j列的最小值;makx(xk)j表示第j列的最大值。

用公式(1),將數值變量值映射到區間[0,1]。

對于種類變量,采取Onehot 編碼[11],例如,有3 個種類,則第1 類編碼為(1,0,0),第2 類編碼為(0,1,0),第3 類編碼為(0,0,1)。

2.2 支持向量機

支持向量機是一種基于統計學的機器學習算法,能夠有效地處理小樣本數據,可以避免局部最小值,具有較好的泛化能力[12,13]。支持向量機可以完成分類、回歸和分布估計等任務。本研究采用LIBSVM 工具箱建立糧倉設計特征變量與氣密性的回歸模型,氣密性指標為500Pa 壓力半衰期[14]。

2.3 boot st r ap 方法

bootstrap 方法由美國統計學家Efron 系統地提出[15]。bootstrap 應用了有放回抽樣技術,可以用于機器學習模型的區間預測[16,17]。本研究采用支持向量機回歸模型結合bootstrap 方法對糧倉氣密性進行區間預測。

3 軟件開發

3.1 Qt 和MATLAB混合編程

在Qt 和MATLAB 混合編程前,應該根據MATLAB 版本選擇合適的C++編譯器和Qt 版本,在本研究中,采用較新的MATLAB 2016b 版本,該版本支持與VS2015(對應Qt 版本5.9.3)進行混合編程,在安裝相關軟件后應該對MATLAB 進行設置。操作方法是在MATLAB 命令窗口輸入mbuild-setup 配置MATLAB 編譯器,選擇C++編譯模式進行開發。

MATLAB 可以導出dll 動態鏈接庫與Qt 進行調用,利用MATLAB 完成算法運算,Qt 的界面顯示和交互數據輸入輸出,從而滿足研究使用[18]。

由于Qt 是基于C++的開源庫,C++是面向對象(OOP)的開發語言,在軟件開發過程中應該以面向對象方式進行開發,配合Qt 的信號與槽函數機制使用。因此,要將之前的MATLAB 流程化代碼改成模塊化代碼,在本研究中,筆者將計算部分拆分成4 個模塊:(1)使用已有模型進行點預測模式;(2)重新訓練模型進行點預測模式;(3)使用已有模型進行區間預測模式;(4)重新訓練模型進行區間預測模式。這4 個模塊分別對應軟件流程圖的4 條路線(見圖2)。

圖2 EAGDS 1.0 軟件流程圖

在Qt 與MATLAB 編程中,MATLAB 導出含有頭文件動態運行庫,需要將該頭文件加入到Qt 的項目工程中,同時通過#include <calc.h>頭文件的方式進行調用(calc 這里只是實例名稱,實際研究可能不同),MATLAB 調用傳遞參數由mxArray 進行聲明,聲明時要有該變量的種類和數值范圍,如含有多個實數(mxREAL)浮點矩陣類(mxDOUBLE_CLASS)。

3.2 Qt 信號槽機制介紹

信號槽是Qt 的核心機制,信號就是發生某種動作的條件,槽函數是滿足條件要執行運算的函數[19,20]。例如,在Qt 中按下界面的按鈕就發送一個信號,信號發出后由槽函數接收并且進行響應,槽函數可以是計算任務、網絡操作、消息事件的發出。在本研究中,筆者使用了大量信號槽機制來確保軟件的正常工作。

3.3 LI BSVM庫的配置

LIBSVM 庫下載后解壓,改變MATLAB 工作目錄并進入庫的根目錄,運行make 命令進行編譯,將編譯好的庫添加到MATLAB 搜索路徑中。

3.4 動態鏈接庫建立

在MATLAB 中,輸入deploytool 命令打開開發工具對話框,選擇第三個庫編譯器(Library Compiler),打開動態鏈接庫生成器,選擇C++動態鏈接庫后,加入MATLAB 計算源碼文件*.m,等待軟件鏈接庫的打包。

打包之后會產生一個頭文件.h,一個編譯用靜態符號庫.lib,動態鏈接庫.dll,編輯Qt 的項目文件,添加頭文件和動態鏈接庫文件,并且同時添加MATLAB 的基礎庫文件(見圖3)。

3.5 軟件功能的開發

對于本研究中軟件不同的預測類型、支持向量機訓練模型方式的選擇,會產生不同的計算結果,表1 展示了預測類型,支持向量機訓練模型方式及計算結果的評價指標。

在本軟件中,筆者使用QButtonGroup 作為功能模式的選擇菜單,使用QLineEdit 作為用戶的抽樣數據輸入控制,使用QTextBrower 作為計算結果的輸出。在不同功能模式按鈕下,筆者使用了多個槽函數控制預測結果的顯示模式[21];同時為了限制用戶輸入,筆者在用戶輸入框使用正則表達式確保輸入符合取值范圍,保證用戶結果的準確;為了能夠提示異常情況的發生,筆者利用MATLAB 對數據進行了判斷處理,設置信號變量傳遞Qt 程序用以判斷響應,提示使用者注意[22];軟件還加入了數據文件自檢的功能,當文件不存在時會告知用戶軟件受到損壞將無法使用。

圖3 Qt 工程項目配置MATLAB鏈接庫

表1 軟件功能表

3.6 多線程的使用

本研究開發的第一代軟件實現了軟件的主要功能,但在測試使用中發現軟件在計算時主界面會卡死并出現崩潰的情況,使用者無法在界面得到軟件計算提示,重新得到響應需等待計算過程結束,嚴重影響了使用者的體驗。這是由于主界面和計算功能共同使用一個線程,使用多線程可以避免這類情況。

在本研究開發第二代軟件中,筆者使用計算線程和界面主線程分開的方式分別完成不同的功能。在計算線程中完成MATLAB 計算接口的調用,使用自定義信號變量和槽函數告知計算功能的完成和異常情況的發生,該計算線程的定義如圖4 所示,界面主線程只負責執行與用戶交互動作的功能。經過實驗和測試,使用多線程編程起到了很好的效果。

圖4 計算線程的定義

4 結語

本研究開發的糧倉氣密性預測軟件EAGDS 1.0 使用了支持向量機和bootstrap 對糧倉氣密性數據進行建模分析,可以對新建糧倉氣密性進行預測,以便設計人員改進設計,提高儲存糧食的質量,保證儲存糧食的安全,減少不必要的損失。本研究根據相關的算法開發出計算預測軟件,該軟件界面友好,簡潔易用,使得研究結果具有較好的實用性和推廣應用價值。

猜你喜歡
界面模型研究
一半模型
FMS與YBT相關性的實證研究
遼代千人邑研究述論
重要模型『一線三等角』
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
重尾非線性自回歸模型自加權M-估計的漸近分布
視錯覺在平面設計中的應用與研究
科技傳播(2019年22期)2020-01-14 03:06:54
EMA伺服控制系統研究
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
人機交互界面發展趨勢研究
主站蜘蛛池模板: 国产91线观看| 欧美自拍另类欧美综合图区| 亚洲最大综合网| 亚洲色欲色欲www网| AV熟女乱| 成人av手机在线观看| 国产精品无码制服丝袜| 手机精品福利在线观看| 四虎免费视频网站| 欧美一级高清免费a| 搞黄网站免费观看| 亚洲人成日本在线观看| 亚洲欧美日本国产专区一区| 日韩av手机在线| 久久亚洲天堂| 国产一级二级在线观看| 三上悠亚一区二区| 毛片手机在线看| 亚洲成人黄色在线观看| 欧美日韩在线国产| 国产在线精彩视频论坛| 国产福利一区在线| 日韩天堂视频| 欧美激情第一区| 内射人妻无码色AV天堂| 免费看a级毛片| 国产精品成人一区二区| 久久精品视频亚洲| 中文字幕调教一区二区视频| 青青草原国产| 波多野结衣第一页| 成人在线第一页| 五月激情婷婷综合| 在线五月婷婷| 日本福利视频网站| 日本人妻丰满熟妇区| 欧美性久久久久| 噜噜噜综合亚洲| 国产97公开成人免费视频| 日韩黄色大片免费看| 国产青青操| 91青青在线视频| 精品少妇人妻无码久久| 五月激激激综合网色播免费| 在线观看国产精美视频| 91精品国产91欠久久久久| 国产亚洲精品资源在线26u| 久热re国产手机在线观看| 在线免费观看AV| 国产精品jizz在线观看软件| 国产精品lululu在线观看| 亚洲欧美自拍一区| 欧美97色| 欧美日本中文| 一级爆乳无码av| 九九九国产| 2024av在线无码中文最新| 91亚洲影院| 少妇精品网站| 国产91久久久久久| 日本精品影院| 欧美亚洲欧美| 伊人久久大香线蕉影院| 国产超碰在线观看| 欧美另类视频一区二区三区| 欧美成人h精品网站| 久久综合亚洲色一区二区三区| 在线观看视频一区二区| 国产国语一级毛片| 毛片一级在线| 亚洲高清无在码在线无弹窗| 亚洲无线视频| 国产后式a一视频| 国产精品原创不卡在线| 亚洲系列无码专区偷窥无码| 久草网视频在线| Jizz国产色系免费| 国产成人综合亚洲网址| 99视频只有精品| 手机在线免费毛片| 亚洲福利网址| 欧美一级特黄aaaaaa在线看片|