亚洲免费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)換研究
        国产色婷婷久久又粗又爽| 精品国产性色av网站| 亚洲区福利视频免费看| 亚洲精品一区二区高清| 精品无码无人网站免费视频| 99久久久无码国产精品免费砚床 | 国产md视频一区二区三区| 亚洲国产精品尤物yw在线观看| 四虎无码精品a∨在线观看| 男女激情视频网站免费在线| 国内最真实的xxxx人伦 | 免费国产99久久久香蕉| 国产精品一区二区三区成人| 亚洲午夜无码毛片av久久| 九九99久久精品国产| 青青国产成人久久91| 国产我不卡在线观看免费| 摸丰满大乳奶水www免费| 亚洲 高清 成人 动漫| 精品国产日韩无 影视| 国产自拍偷拍视频免费在线观看| 伊人久久大香线蕉综合影院首页| 久久精品亚洲牛牛影视| 亚洲视频在线视频在线视频 | 污污污污污污WWW网站免费| 日韩精品中文字幕人妻系列| 日本熟女中文字幕在线| 欧美极品少妇无套实战| 中文字幕乱偷乱码亚洲| 天堂网av在线免费看| 久久99国产综合精品| 在线看亚洲十八禁网站| 女优视频一区二区三区在线观看| 亚洲中文字幕人妻av在线| 亚洲一线二线三线写真 | 红桃av一区二区三区在线无码av| 亚洲国产韩国欧美在线| caoporon国产超碰公开| 久久精品国产亚洲av成人文字| 色一情一区二区三区四区| 国产美女69视频免费观看|