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

?

鄉(xiāng)鎮(zhèn)溫度預報訂正和自動站數(shù)據(jù)處理軟件的設計與實現(xiàn)

2014-10-21 02:00:12李若楠吳佳麗劉暢張微瑋楊冰
安徽農業(yè)科學 2014年31期
關鍵詞:準確率溫度

李若楠 吳佳麗 劉暢 張微瑋 楊冰

摘要 基于Matlab Gui開發(fā)軟件,編寫生成具有訂正鄉(xiāng)鎮(zhèn)溫度預報和數(shù)據(jù)統(tǒng)計處理功能的軟件;利用matlab編譯器,使該軟件可以獨立運行,自動識別鄉(xiāng)鎮(zhèn)自動站數(shù)據(jù),滿足縣級臺站對鄉(xiāng)鎮(zhèn)每日天氣預報、未來24 h溫度訂正預報、每月溫度準確率計算和日溫度數(shù)據(jù)整理的需求,為制作鄉(xiāng)鎮(zhèn)天氣預報和溫度數(shù)據(jù)處理提供一個方便可視化的平臺,減輕觀測人員的手錄工作量和人為誤差,使鄉(xiāng)鎮(zhèn)溫度預報數(shù)據(jù)訂正處理科學化、自動化和精準化。

關鍵詞 Matlab Gui;溫度;預報;準確率;統(tǒng)計整理

中圖分類號 S161 文獻標識碼

A 文章編號 0517-6611(2014)31-11004-04

The Design and Implementation of the Software for Township Temperature Forecast Revisions and Data Processing

LI Ruonan, WU Jiali, LIU Chang et al (Meteorological Bureau of Xinbin Manchu Autonomous County, Xinbin, Liaoning 132000)

Abstract Based on Matlab Gui development software, a software which can generate with the revised temperature forecasts and statistical processing was written; Using matlab compiler, the software can be run independently, and can automatically identify township automatic station data, to meet the need for correcting township temperature forecast, calculating the accuracy rate of temperature automatically and processing the daily temperature data, providing a convenient platform for the production of visual weather forecast and temperature data processing towns, reducing the observers hand book work and error, to make the township temperature forecast data revisions and processing scientific, automation and precision.

Key words Matlab Gui; Temperature; Forecast; Accuracy rate; Statistics finishing

24 h最高溫度、最低溫度預報是電視天氣預報節(jié)目對公眾發(fā)布的基本氣象服務,也是最重要的氣象服務之一,目前縣級臺站制作的鄉(xiāng)鎮(zhèn)天氣預報和未來24 h溫度預報均是以本站的天氣預報為基礎進行鄉(xiāng)鎮(zhèn)訂正預報。新賓縣下轄 15個鄉(xiāng)鎮(zhèn),根據(jù)多年自動站溫度要素分析以及預報經驗,發(fā)現(xiàn)每個鄉(xiāng)鎮(zhèn)的溫度及天氣狀況均有所差異,在預報時需要根據(jù)不同的訂正值和天氣狀況對每個鄉(xiāng)鎮(zhèn)的天氣要素進行訂正預報,而在制作鄉(xiāng)鎮(zhèn)訂正預報產品時,還是依靠傳統(tǒng)的手算和人工制作的方法,誤差大,且費時費力,增加了業(yè)務人員的工作量,更不便于日后的統(tǒng)計和管理。因此,研發(fā)一個具有可視化多功能的鄉(xiāng)鎮(zhèn)溫度預報訂正和數(shù)據(jù)處理軟件,對于基層臺站業(yè)務減負、實現(xiàn)自動化工作意義重大。筆者基于Matlab Gui開發(fā)軟件,編寫生成具有訂正鄉(xiāng)鎮(zhèn)溫度預報和數(shù)據(jù)統(tǒng)計處理功能的軟件。

1 Matlab圖形用戶界面的環(huán)境介紹

1.1 圖形用戶界面開發(fā)環(huán)境

圖形用戶界面GUI(Graphical User Interfaces)是由各種圖形對象,如圖形窗口、圖軸、按鈕、菜單、文本框等對象(Objects)構成的用戶界面,其開發(fā)環(huán)境提供了一組用于用戶界面開發(fā)的工具,是人際交流信息的工具和方法,在該界面內,用戶可以根據(jù)界面提示完成整個工程而不必去了解工程內部是如何工作的,利用Gui設計圖形用戶界面時,可通過GUI應用屬性設置編輯器來設置對句柄操作的響應[1-3]

1.2 函數(shù)句柄

函數(shù)句柄(FunctionHandle)是包含了函數(shù)路徑、函數(shù)名、類型以及可能存在的重載方法。句柄圖形(Handle Graphics)就是將一個圖形的每一個組建均視為一個對象(Object),每一個對象均有一個獨一無二的“句柄”(handle),根據(jù)這個句柄就可以找到這個對象(即圖形組件)的各項屬性,并進而更改這些屬性,以產生不同的圖形呈現(xiàn)效果[3-5]。

2 系統(tǒng)設計思路和框架

2.1 設計思路及主要功能需求

2.1.1 界面制作。界面制作包括界面設計和程序實現(xiàn)。具體制作步驟是: ①分析界面所要求實現(xiàn)的主要功能,明確設計任務;

②繪出界面草圖,并站在使用者的角度來審查草圖;③按構思的草圖,上機制作靜態(tài)界面,并檢查;④編寫界面動態(tài)功能的程序,對功能進行逐項檢查[5-7]。

本著簡單性(Simplicity)、一致性(Consistency)及習常性(Familiarity)原則[7-10],該軟件按照不同的功能需求分成3個功能模塊并分別進行編寫,每個模塊根據(jù)需要利用Gui提供的菜單編輯器設計每個模塊下的菜單欄,并根據(jù)使用要求設計每個操作界面的控件布局,在不同的控件下填寫相應的響應函數(shù)。

2.1.2 功能需求。

利用鄉(xiāng)鎮(zhèn)每日預報應用軟件平臺提供給預報員制作各鄉(xiāng)鎮(zhèn)每日天氣預報的平臺;利用每月溫度準確率統(tǒng)計平臺,統(tǒng)計各鄉(xiāng)鎮(zhèn)每月最低溫度和最高溫度準確率;利用鄉(xiāng)鎮(zhèn)溫度數(shù)據(jù)處理平臺將分散的每日數(shù)據(jù)整理到相應年份和月份的數(shù)據(jù)表格中,方便做數(shù)據(jù)研究以及數(shù)據(jù)再整理。

2.2 系統(tǒng)框架

總體上可分為3個部分,即鄉(xiāng)鎮(zhèn)每日預報應用軟件平臺、每月溫度準確率統(tǒng)計平臺和自動站溫度整理平臺。

2.3 系統(tǒng)操作流程圖設計

2.3.1 鄉(xiāng)鎮(zhèn)每日預報應用軟件平臺操作流程。

當用戶打開系統(tǒng)界面后,首先導入當日自動站溫度實況信息,然后在相應的位置依次輸入天氣狀況、本站實況溫度、本站預報溫度、預報風向、預報風速、預報員等基本實況和預報信息,軟件會根據(jù)輸入的本站實況溫度、本站預報溫度以及自動站各鄉(xiāng)鎮(zhèn)當日實況溫度進行計算并顯示各鄉(xiāng)鎮(zhèn)天氣預報結果,其中對于溫度的預報如需人工訂正,可對各鄉(xiāng)鎮(zhèn)進行單獨的溫度訂正,最后根據(jù)需要進行保存,在不同的位置生成多種類型的預報產品(圖1)。

3 技術規(guī)劃及模塊設計

3.1 開發(fā)環(huán)境 操作系統(tǒng)為WindowsXP。體現(xiàn)句柄圖形例程的函數(shù),包括應用uimenu和uicontrol對象的函數(shù),通常運行在所有平臺。處理的數(shù)據(jù)對象為自動站每日溫度統(tǒng)計的EXCEL表,以當日日期命名,如20140601,表格內的格式第一列至第五列依次為站號、站名、平均氣溫、最高氣溫、最低氣溫。

3.2 運行要求

利用Gui設計編寫xzyb(鄉(xiāng)鎮(zhèn)預報)界面及Matlab編譯器,將設計編寫好的界面轉為exe格式,即可獨立運行的應用程序,雖然可以在沒有Matlab的計算機上直接運行使用。但如果在一個沒有安裝Matlab的計算機上運行,或在安裝版本不一致的計算機上運行時,仍需要安裝Matlab所必須的且與之相對應的動態(tài)鏈接庫,因為不同版本的動態(tài)鏈接庫不同,也不兼容。因此在運行該軟件之前,要安裝能使可執(zhí)行程序脫離Matlab運行所需的函數(shù)庫,即MCRInstall.exe。

3.3 模塊設計及原理

3.3.1 控件及對話框。在此用到的控件有觸控按鈕鍵、靜態(tài)文本框、可編輯文本框、彈起式菜單框,用到的預定義對話框有信息對話框、警告對話框、文件打開對話框。

3.3.1.1 菜單欄設計。打開Guide設計界面,利用Tools下的Menu Editor菜單編輯器創(chuàng)建各級菜單欄(圖4)。

在相應位置填寫內容,并設置快捷方式。分別進入Callback下,填寫相應的代碼,對菜單進行操作。如在“打開”的Callback下填寫的相應部分代碼如下:

function m_file_open_Callback(hObject, eventdata, handles)

global path;global g;global d;global panduan;

[filename, pathname] = uigetfile( {*.xls,Excel Files (*.xls); *.*,All… Files (*.*)},Pick a file);

if isequal(filename,0) || isequal(pathname,0)

return; else path=fullfile(pathname,filename);

end

[num,txt,raw]=xlsread(path);global tshuju; global nraw;

tshuju=[num(:,4) num(:,5)];nraw=raw(2:end,2);%從第二行開始是鄉(xiāng)鎮(zhèn)名

g=zeros(15,1);d=zeros(15,1);

id=find(ismember(nraw,新賓));%查找站號為54353的站所在行的位置

if id

g(1,1)=tshuju(id,1);d(1,1)=tshuju(id,2);

else msgbox(站點54353(新賓)數(shù)據(jù)缺失,請手動補充)

g(1,1)=-999;d(1,1)=-999;

end

......

id=find(ismember(nraw,榆樹鄉(xiāng)));

if id

g(15,1)=tshuju(id,1);d(15,1)=tshuju(id,2);

else msgbox(站點L3552(榆樹鄉(xiāng))數(shù)據(jù)缺失,請手動補充)

g(15,1)=-999;d(15,1)=-999;

end

g=g/10;d=d/10;panduan=0;

以上代碼的功能是通過打開操作讀入選定的自動站日數(shù)據(jù),不僅可以導入該數(shù)據(jù),還可根據(jù)缺測情況彈出信息對話框給出相應的缺站提示,并以-999暫代計算。

3.3.1.2 頁面布局及屬性設置。根據(jù)功能需要分別選擇不同的控件設計相應的頁面布局,如“每日預報“模塊的控件布局(圖5)??刂茖傩栽O計思路是:①雙擊每個控件,調出屬性設置框,分別設置各控件的名稱、屬性名、顏色等,如“今日天氣實況”后第一個彈起式菜單框的部分屬性設置及String屬性值設置(圖6)。②在布置好的每個控件的Callback下分別編寫相應的操作代碼,如圖6中的控件彈起式菜單框的Callback下的部分操作代碼為:

function popupmenu1_Callback(hObject, eventdata, handles)

global tianqishikuang;

list=get(hObject,String);val=get(hObject,Value);tianqishikuang=list{val};

a1=新賓;……a15=榆樹;name={a1;a2;a3;a4;a5;a6;a7;a8;a9;a10;a11;a12;a13;a14;a15};

set(handles.text23,string,name);

guidata(hObject,handles);

③用同樣的方法設置和編寫觸控按鈕鍵、靜態(tài)文本框的屬性及相應Callback下的操作代碼。導入當日數(shù)據(jù)觸控按鈕和保存觸控按鈕下設置了警告對話框和消息對話框,對導入數(shù)據(jù)和保存數(shù)據(jù)設置指定的路徑,如e:\xzyb\。④用同樣的方法對每月溫度準確率統(tǒng)計平臺、撫順市鄉(xiāng)鎮(zhèn)溫度數(shù)據(jù)處理平臺分別設計并編寫,設計成功后,在主界面的相應菜單的Callback下分別編寫各自平臺調用操作代碼,如在主菜單“每月溫度準確率統(tǒng)計”的Callback下的平臺調用代碼為:

function month_analysis_Callback(hObject, eventdata, handles)

h=gcf;townanalysis;

close(h);

3.3.2 溫度預報及準確率統(tǒng)計原理。

3.3.2.1 溫度的預報原理。假設各站每天的溫度變化幅度與本站溫度的變化幅度完全一致,則

TXS-TXS(0)=TSS-TSS(0),即TSS=TXS-TXS(0)+TSS(0),式中,TXS表示新賓站預報溫度;TXS(0)表示當天的實況溫度;TSS表示所求鄉(xiāng)鎮(zhèn)的預報溫度;TSS(0)表示所求鄉(xiāng)鎮(zhèn)當日的實況溫度。

3.3.2.2 統(tǒng)計溫度準確率的原理。

業(yè)務需求編寫的鄉(xiāng)鎮(zhèn)溫度預報訂正和數(shù)據(jù)處理軟件主要實現(xiàn)了以下3個功能:①通過鄉(xiāng)鎮(zhèn)每日預報應用軟件平臺,預報員可以每日制作各鄉(xiāng)鎮(zhèn)天氣預報,操作簡便,可生成各種樣式的預報產品,為不同的部門和用途提供預報產品,如為廣播局提供每日鄉(xiāng)鎮(zhèn)天氣預報,為各鄉(xiāng)鎮(zhèn)制作電子顯示屏信息、預警大喇叭信息、手機短信,為預報員提供每日實況溫度與預報溫度情況等;

②通過每月溫度準確率統(tǒng)計平臺,統(tǒng)計各鄉(xiāng)鎮(zhèn)每月最低溫度和最高溫度準確率,包括各鄉(xiāng)鎮(zhèn)的準確率以及整體鄉(xiāng)鎮(zhèn)溫度準確率,了解每月溫度預報情況,方便研究與材料編寫;

③通過鄉(xiāng)鎮(zhèn)溫度數(shù)據(jù)處理平臺,可以將某月的每日溫度數(shù)據(jù)集經過數(shù)據(jù)批處理整理整理到相應年份和月份的數(shù)據(jù)表格中,方便做數(shù)據(jù)研究以及數(shù)據(jù)再整理。

參考文獻

[1]

王默玉,宗偉,劉春磊,等.基于MATLAB的圖形用戶界面的構造方式與應用[J].現(xiàn)代電力,2002,19(1):76-82.

[2] 羅華飛.MATLAB GUI設計學習手記[M].2版.北京:北京航空航天大學出版社,2011.

[3] 徐增偉,曾黃麟,江泌,等.基于MATLAB GUI的研究生學業(yè)評估系統(tǒng)設計[J].四川理工學院學報:自然科學版,2011,24(4):402-404.

[4] 施曉紅,周佳.精通GUI圖形界面編程[M].北京:北京大學出版社,2003.

[5] 施今邁,陳顯慧,李霞.基于MATLAB的心電信號界面設計[J].醫(yī)療設備信息,2007,22(7):34-35.

[6] 楊華為.基于MATLAB GUI的數(shù)據(jù)處理分析界面的設計與應用[J].工業(yè)控制計算機,2011,24(12):16-17.

[7] 邱金蕙,王矞輝,李振全.基于Matlab/GUI的新型界面開發(fā)方式[J].河北工業(yè)科技,2008,25(4):233-254.

[8] 陳立明,董暉,李加海.基于MATLAB6.5的圖形用戶界面應用技術研究[J].電腦開發(fā)與應用,2005,18(4):47-49.

[9] 代紅權,陳海燕.基于Matlab的大學物理實驗數(shù)據(jù)處理系統(tǒng)[J].重慶工學院學報,2007,21(5):32-34.

[10] 王俊國,王永驥,萬淑蕓.MATLAB圖形用戶界面環(huán)境下的實時控制系統(tǒng)[J].儀表技術與傳感器,2004(9):27-29.

猜你喜歡
準確率溫度
一張票的溫度
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
健康之家(2021年19期)2021-05-23 11:17:39
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
2015—2017 年寧夏各天氣預報參考產品質量檢驗分析
停留在心的溫度
高速公路車牌識別標識站準確率驗證法
測個溫度再蓋被
用26℃的溫度孵化成功
山東青年(2016年1期)2016-02-28 14:25:28
丽江市| 高邑县| 都昌县| 湖北省| 大田县| 抚宁县| 尼玛县| 淮南市| 会泽县| 宜兰县| 德令哈市| 太仆寺旗| 梧州市| 礼泉县| 弥勒县| 东乌| 延安市| 沾益县| 鄂州市| 淄博市| 河源市| 大余县| 公主岭市| 准格尔旗| 台南市| 新密市| 大洼县| 正定县| 邻水| 辽阳市| 隆子县| 铁岭县| 南乐县| 高台县| 常德市| 大城县| 金湖县| 吉林市| 德惠市| 乌鲁木齐县| 富锦市|