亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于MATLAB GUI的數(shù)據(jù)格式標(biāo)準(zhǔn)化軟件設(shè)計

        2015-03-16 09:22:51林秀娜等
        電腦知識與技術(shù) 2015年1期
        關(guān)鍵詞:軟件設(shè)計數(shù)據(jù)格式

        林秀娜等

        摘要:根據(jù)應(yīng)用需求,基于MATLAB GUI設(shè)計了數(shù)據(jù)格式標(biāo)準(zhǔn)化軟件。首先對基于MATLAB GUI的軟件設(shè)計流程進(jìn)行了概述,之后對MATLAB GUI 數(shù)據(jù)傳遞的關(guān)鍵技術(shù)方法進(jìn)行了介紹,結(jié)合對設(shè)計軟件的主要功能的說明,分析了MATLAB GUI設(shè)計的優(yōu)缺點(diǎn)。

        關(guān)鍵詞:MATLAB;GUI;數(shù)據(jù)格式;軟件設(shè)計

        中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2015)01-0063-03

        Data Format Standardization Software Design Based on MATLAB GUI

        LIN Xiu-na1, QU Bao-an1, CHEN Chuan-hua2, WANG Qiang1, JIA Li-guo1, XING Wei-wei1

        (1.Taian Fiducial Seismic Station of Earthquake Administration of Shandong Province,Taian 271000, China; 2.Jiaxiang Seismic Station of Earthquake Administration of Shandong Province,Jining 272400, China)

        Abstract: According to application demand, data format standardization software was designed based on MATLAB GUI. Firstly, software design flow based on MATLAB GUI is summarized. Then key technology and method about MATLAB GUI data transmission is introduced. Combining with illustration about the main function of the software, advantages and disadvantages of MATLAB GUI design is analyzed.

        Key words: MATLAB; GUI; data format; software design

        MATLAB以其強(qiáng)大的數(shù)據(jù)處理能力在矩陣運(yùn)算、數(shù)值分析、圖形處理等方面有著廣泛的應(yīng)用。自第4版推出句柄圖形,尤其是MATLAB 6.0版圖形用戶界面(GUI)設(shè)計功能有了很大提高之后,將圖形化窗口界面與數(shù)據(jù)處理模塊互相結(jié)合的交互方式愈發(fā)普及。由此帶來的友好界面化的數(shù)據(jù)處理使MATLAB的受益群體由熟悉MATLAB各種函數(shù)的專業(yè)人員向不了解MATLAB的人員擴(kuò)展,在拓展MATLAB應(yīng)用群體的同時為各個領(lǐng)域的數(shù)據(jù)處理帶來了極大的便利。所謂圖形用戶界面,是指包含了各種圖形控制對象,如圖形窗口、菜單、對話框以及文本框等用戶界面,也稱為控件。利用這些用戶界面,用戶可以和計算機(jī)之間進(jìn)行信息交流,并通過編寫控件的回調(diào)函數(shù)(Callback),完成特定的功能。該文結(jié)合實(shí)例,對基于MATLAB GUI的軟件設(shè)計進(jìn)行了綜合介紹。

        1 設(shè)計流程

        基于MATLAB GUI的軟件設(shè)計可以概括為三步走:1) 軟件界面設(shè)計;2) 模塊功能開發(fā);3) 軟件封裝。

        MATLAB GUI提供了GUIDE開發(fā)環(huán)境,可以方便的進(jìn)行界面的設(shè)計和開發(fā)。GUIDE能夠把前臺和后臺分開編輯,前臺以MATLAB圖形的方式運(yùn)行,用于軟件界面的設(shè)計,同時對界面各個功能模塊的屬性進(jìn)行配置。用戶只需要設(shè)置各個對象相應(yīng)的屬性,系統(tǒng)自動生成與之對應(yīng)的界面,大大減少了開發(fā)的難度。后臺以M文件的形式存儲,可用于開發(fā)各個模塊功能,包括各個功能模塊完成的操作,功能模塊之間數(shù)據(jù)的傳遞等等。前臺的圖形開發(fā)界面和后臺的M文件是相互關(guān)聯(lián)的,前臺每添加一個元件,后臺就會產(chǎn)生相應(yīng)的函數(shù)。MATLAB GUI的數(shù)據(jù)傳遞是整個設(shè)計的難點(diǎn),也是關(guān)鍵部分,該文將對此做詳細(xì)的說明。完成界面設(shè)計和模塊功能開發(fā)之后,需要將設(shè)計的軟件進(jìn)行封裝,將軟件轉(zhuǎn)換為可執(zhí)行文件,與MATLAB的運(yùn)行環(huán)境MCRInstaller.exe一起打包,從而實(shí)現(xiàn)程序的移植和推廣應(yīng)用。

        2 數(shù)據(jù)傳遞

        MATLAB GUI的數(shù)據(jù)傳遞按照傳遞類型分為GUI之間的數(shù)據(jù)傳遞和GUI內(nèi)部各個控件之間的數(shù)據(jù)傳遞,GUI間和GUI內(nèi)的數(shù)據(jù)傳遞方式分為六種。

        1) global定義全局變量。

        此方式適用于GUI內(nèi)以及GUI間。此方式應(yīng)用簡單,不需要其他的參數(shù)傳遞命令。但是,在任控件應(yīng)用全局變量之前要先聲明全局變量,即global‘變量名稱,而且若某一函數(shù)內(nèi)部不慎修改了全局變量,則會造成變量混亂。

        2) 應(yīng)用setappdata\getappdata函數(shù)。

        此方式適用于GUI內(nèi)以及GUI間。可以實(shí)現(xiàn)多個變量的存取,應(yīng)用相對global繁瑣,但是適用范圍廣,且沒有應(yīng)用缺陷。首先將變量名稱和標(biāo)量值用setappdata傳遞給GUI或控件,使用時再用getappdata從GUI或控件中調(diào)出。

        3) 應(yīng)用save和load函數(shù)

        此方式適用于GUI內(nèi)以及GUI間。此方式是將變量的值先存到磁盤,用時從磁盤載入數(shù)據(jù)。當(dāng)然,這種方式涉及到磁盤讀寫,速度相對較慢。

        4) 應(yīng)用UserData。

        此方式僅適用于GUI內(nèi)。每個控件均具有UserData屬性,將數(shù)據(jù)存儲到該控件中,使用時用get函數(shù)從UserData直接獲取。此方式應(yīng)用簡單 ,但是每個對象僅能存取一個變量值,因此當(dāng)同一對象存儲兩次變量時 ,先前的變量值就會被覆蓋掉,因此都用UserData存儲簡單與單一的數(shù)據(jù)。

        5) handles和GUIdata函數(shù)

        此方式僅適用于GUI內(nèi)。使用handles.變量名在handles中添加該變量,之后用GUIdata保存改變量。此方式應(yīng)用繁瑣,而且新添加變量后可能就會覆蓋已添加變量。

        6) varargin和varargout函數(shù)。

        此方式僅適用與GUI間傳遞數(shù)據(jù),且只適合與主子結(jié)構(gòu),即從主GUI調(diào)用子GUI,之后關(guān)閉子GUI,而不適合并列結(jié)構(gòu)或遞進(jìn)結(jié)構(gòu)。

        根據(jù)不同的數(shù)據(jù)傳遞方式,基于所設(shè)計軟件的功能需求,主要應(yīng)用了可以進(jìn)行多個變量傳遞而且相對安全穩(wěn)定的setappdata\getappdata函數(shù),同時輔以UserDate方式,實(shí)現(xiàn)了整個數(shù)據(jù)格式標(biāo)準(zhǔn)化軟件的數(shù)據(jù)傳遞功能。

        3 應(yīng)用分析

        根據(jù)應(yīng)用需求,設(shè)計了泰安基準(zhǔn)地震臺地磁歷史數(shù)據(jù)標(biāo)準(zhǔn)化軟件,用于數(shù)據(jù)格式的統(tǒng)一轉(zhuǎn)換和基礎(chǔ)的數(shù)據(jù)處理。根據(jù)MATLAB GUI軟件設(shè)計開發(fā)流程,軟件的界面見圖1所示,根據(jù)國際數(shù)據(jù)交換格式標(biāo)準(zhǔn),數(shù)據(jù)相關(guān)信息均為英文。

        軟件界面主要分為五個功能區(qū),分別為12個頭記錄的錄入和選擇,注釋記錄的錄入,選擇打開數(shù)據(jù)文件,數(shù)據(jù)處理以及生成標(biāo)準(zhǔn)化數(shù)據(jù)文件。其中頭記錄的Reported和選擇數(shù)據(jù)文件之間有主動數(shù)據(jù)的傳遞,即Reported錄入報告分量之后,分別自動傳達(dá)到打開數(shù)據(jù)文件的不同的顯示框,以便Select File選擇與該分量對應(yīng)的數(shù)據(jù)文件,見圖1中所示。當(dāng)點(diǎn)擊Select File選擇相應(yīng)分量的數(shù)據(jù)文件之后,即顯示數(shù)據(jù)文件的路徑信息和文件名,見圖2中所示,即Select File與顯示框也有主動的數(shù)據(jù)關(guān)聯(lián)。Digital Sampling與數(shù)據(jù)處理部分的Lowpass Filter存在數(shù)據(jù)被動傳遞,即點(diǎn)擊Lowpass Filter后,從Digital Sampling獲取數(shù)據(jù)的采樣率,以進(jìn)行濾波。同樣,Plot Data、Select File、Lowpass Filter和Plot Filtered Data之間存在多個數(shù)據(jù)變量的傳遞。Lowpass Filter的Callback程序如下:

        function lowpassfilter2_Callback(hObject, eventdata, handles)

        value=get(handles.digitalsampling1,'Value');%獲取digitalsampling的值

        switch value %根據(jù)value獲取string的值,即得到采樣率

        case 1

        samplerate=1;

        case 2

        samplerate=1/60;

        case 3

        samplerate=1/3600;

        end

        ynumber=getappdata(handles.selectfile2,'number1'); %獲取觀測數(shù)據(jù)

        if length(ynumber)<1

        errordlg('請先讀入數(shù)據(jù)文件','warn');

        else

        ynumberf=myfilterlp(15,samplerate/10,ynumber,samplerate);%低通濾波

        setappdata(handles.lowpassfilter2,'ynumberf',ynumberf); %保存濾波

        %后數(shù)據(jù)

        end

        先獲取Digital Sampling 的值,根據(jù)取值得到對應(yīng)的String的值,即為采樣率,從Select File調(diào)取數(shù)據(jù),進(jìn)行濾波,之后保存濾波后的數(shù)據(jù)以備其他控件調(diào)用。

        圖2所示為軟件的Select File功能、濾波前后對比繪圖、軟件控件操作的驗(yàn)證及警告功能等。

        4 結(jié)論和討論

        綜上所述,基于應(yīng)用需求,設(shè)計了基于MATLAB GUI的數(shù)據(jù)格式標(biāo)準(zhǔn)化軟件,經(jīng)過界面設(shè)計,數(shù)據(jù)傳遞函數(shù)調(diào)用編程等,完成了控件之間的操作和數(shù)據(jù)傳遞,實(shí)現(xiàn)了軟件的各個功能。

        基于MATLAB GUI軟件設(shè)計,將MATLAB的強(qiáng)大的數(shù)據(jù)處理能力與友好的圖形用戶界面相結(jié)合,實(shí)現(xiàn)了MATLAB功能的黑箱操作,極大地拓展了MATLAB數(shù)據(jù)處理能力的受眾。而且MATLAB提供的GUIDE開發(fā)環(huán)境簡便易用,降低了界面設(shè)計的復(fù)雜度,提高了設(shè)計效率。但是MATLAB GUI基于控件的界面,在進(jìn)行界面設(shè)計時需要進(jìn)行綜合考慮,花費(fèi)較多精力,不適用于大型程序的開發(fā)。對于每個控件的屬性進(jìn)行設(shè)定時容易引起錯誤,從而導(dǎo)致已經(jīng)設(shè)計好的界面無法用GUIDE打開,只能重新設(shè)計。而且,MATLAB程序的封裝性相對較差。但是在進(jìn)行數(shù)據(jù)和圖像處理時,MATLAB GUI無疑具有較大優(yōu)勢。

        參考文獻(xiàn):

        [1] 陳懷琛.MATLAB及其在理工課程中的應(yīng)用指南[M].西安:西安電子科技大學(xué)出版社,2000.

        [2] 紀(jì)元法,孫希延,施滸立.MATLAB的兩種圖形用戶界面參數(shù)輸入方法[J].電腦知識與技術(shù),2008,13:728-731.

        [3] 焦勇,周喻虹.基于MATLAB的快速圖形化數(shù)據(jù)處理軟件設(shè)計[J].電子科技,2005(7):40-42.

        [4] 余承依.基于Matlab數(shù)值計算的GUI設(shè)計[J].漳州師范學(xué)院學(xué)報:自然科學(xué)版,2004,17(4):38-40.

        [5] 張志涌.精通MATLAB 6.5版[M].北京:北京航空航天大學(xué)出版社,2003.

        猜你喜歡
        軟件設(shè)計數(shù)據(jù)格式
        在智能交通系統(tǒng)中PLC數(shù)據(jù)格式轉(zhuǎn)換方法的研究
        電子測試(2018年1期)2018-04-18 11:52:49
        基于STC單片機(jī)的廚房智能安全管控系統(tǒng)的設(shè)計
        基于STM8S903K3的序列打螺絲夾具的軟件設(shè)計
        JCI標(biāo)準(zhǔn)下發(fā)送調(diào)配部軟件設(shè)計及應(yīng)用
        一種VHDL語言代碼重用的方法
        科技視界(2016年20期)2016-09-29 13:33:02
        論子函數(shù)在C語言數(shù)據(jù)格式輸出中的應(yīng)用
        DWG與SHP數(shù)據(jù)格式互轉(zhuǎn)換方法研究——以龍巖規(guī)劃測繪數(shù)據(jù)為例
        基于ArcGIS的規(guī)劃數(shù)據(jù)格式轉(zhuǎn)換研究
        依依成人影视国产精品| 在线亚洲高清揄拍自拍一品区 | 欧美日韩亚洲成人| 一区二区三区国产美女在线播放 | 日日麻批免费40分钟无码| 日韩少妇内射免费播放| 欧美在线成人午夜网站| 日韩av在线不卡一二三区| 久久99天堂av亚洲av| 亚洲中文字幕无码中文字在线| 国内精品久久久久久久久齐齐| 亚洲va成无码人在线观看| 一本色道久久亚洲精品| 精品亚洲国产成人| 亚洲av成人无码网天堂| 第九色区Aⅴ天堂| 亚洲女av中文字幕一区二区 | 欧美精品中文字幕亚洲专区| 久久久久欧洲AV成人无码国产| 国产av熟女一区二区三区老牛| 加勒比东京热一区二区| 日韩一区国产二区欧美三区| 人妻无码中文专区久久五月婷 | 一区二区在线观看视频亚洲| 国产精品久久久福利| 国产美女久久精品香蕉69| 久久久精品2019中文字幕之3| 熟女不卡精品久久av| 日韩在线永久免费播放| 久久久久亚洲av无码专区导航| 久热爱精品视频在线观看久爱| 精品亚洲在线一区二区| 久久亚洲日韩精品一区二区三区| 精品少妇ay一区二区三区| 四虎无码精品a∨在线观看| 国产精品白浆一区二区免费看| 丁香六月久久婷婷开心| 亚洲国产麻豆综合一区| 女同重口味一区二区在线| 在线观看特色大片免费视频 | 美女偷拍一区二区三区|