欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于逆波蘭式算法的判據(jù)自動解析方法與流程

文檔序號:11154501閱讀:674來源:國知局
一種基于逆波蘭式算法的判據(jù)自動解析方法與制造工藝

本發(fā)明涉及一種基于“逆波蘭式”算法的判據(jù)自動解析方法,屬于自動判讀技術(shù)領(lǐng)域。



背景技術(shù):

現(xiàn)階段,在使用自動判讀技術(shù)的系統(tǒng)中,判據(jù)的管理多采用兩種方式:

第一種方式 直接固化在軟件或硬件中

采用這種方式快速,簡單,但也有其致命的缺點,即缺乏靈活性,維護成本高,如果需要更改其中某項判據(jù),必須對軟件重新進行編譯,或者對芯片重新進行燒寫,無法滿足通用化的要求。

第二種方式 采用配置文件的方式

為達到通用化的目的,可以將判據(jù)保存在單獨的配置文件中,在需要時進行讀取。這種方式提高了靈活性,降低了維護的代價,但由于判據(jù)的復雜性,這種方式只能存儲不需要其他觀測量即可進行判讀的數(shù)據(jù),如+M1母線電壓判據(jù)為28±3V,地球重力加速度G判據(jù)為9.8±0.5m/s2。部分數(shù)據(jù)無法直接進行判讀,需要依據(jù)某些先行觀測量的值進行計算,才能得出相應(yīng)的判據(jù)范圍,如+M1母線漏電的判據(jù)即需要根據(jù)+M1的實際測量值確定,慣組陀螺的某些判據(jù)需要根據(jù)慣組諸元某些參數(shù)確定等,這種數(shù)據(jù)使用配置文件的方式保存較為困難。

在航天領(lǐng)域中,自動判讀技術(shù)被廣泛使用。自動判讀技術(shù)與使用者的接口只有判據(jù),因此判據(jù)的表達是否簡單易用直接影響著自動判讀的效率,如何對判據(jù)進行解析也是自動判讀技術(shù)的關(guān)鍵。

如何有效的配置并自動解析含有參數(shù)的判據(jù)文件是本領(lǐng)域亟待解決的技術(shù)問題。



技術(shù)實現(xiàn)要素:

本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種基于“逆波蘭式”算法的判據(jù)自動解析方法,降低自動判讀技術(shù)中判據(jù)管理的復雜度,實現(xiàn)具有依賴值的測量數(shù)據(jù)的自動判讀。

本發(fā)明目的通過如下技術(shù)方案予以實現(xiàn):

提供一種基于“逆波蘭式”算法的判據(jù)自動解析方法,采用“逆波蘭式”算法進行判據(jù)的自動解析和計算,包括如下步驟:

(1)配置判據(jù)文件,將所需判讀的參數(shù)標準值V、上偏差VH、下偏差VL寫入配置文件,標準值V依賴于d,上偏差VH依賴于觀測量d1,下偏差VL依賴于觀測量d2;

(2)自動判讀模塊讀取配置判據(jù)文件,讀取標準值V、上偏差VH、下偏差VL的中序表達式;

(3)采用“逆波蘭式”算法將標準值V、上偏差VH、下偏差VL中的中序表達式轉(zhuǎn)換為后序表達式;

(4)根據(jù)觀測量d、d1、d2的測量結(jié)果,計算標準值V、上偏差VH、下偏差VL數(shù)值;

(5)判斷所需判讀的參數(shù)是否合格。

優(yōu)選的,步驟(1)中將所需判讀的參數(shù)標準值V、上偏差VH、下偏差VL寫入配置文件的具體方法為:

采用常用文本編輯器根據(jù)具體判據(jù)范圍,將參數(shù)標準值V、上偏差VH、下偏差VL按照中序表達式的方式寫入到判據(jù)配置文件中,判據(jù)文件采用UTF-8編碼的文本文件保存。

優(yōu)選的,步驟(2)中自動判讀模塊讀取配置判據(jù)文件,讀取標準值V、上偏差VH、下偏差VL的中序表達式的具體方法為:

以字符串流的方式順序讀入判據(jù)文件,以空格字符分割標準值V,上偏差VH和下偏差VL,以回車換行符區(qū)分不同的參數(shù)名稱。

優(yōu)選的,步驟(3)中采用“逆波蘭式”算法將標準值V、上偏差VH、下偏差VL中的中序表達式轉(zhuǎn)換為后序表達式的具體方法為:

(3.1)在內(nèi)存中分配兩個堆棧S1和S2,分別用于臨時存儲運算符和轉(zhuǎn)換后的逆波蘭式;

(3.2)依次讀取中序表達式,若讀入的是操作數(shù),則將操作數(shù)輸出到堆棧S2;

(3.3)若取出的字符是運算符Op,如果此時堆棧S1為空,則將該運算符保存入堆棧S1,如果此時堆棧S1非空,則將該運算符Op與堆棧S1棧頂?shù)牟僮鞣麅?yōu)先級做比較,若低于堆棧S1棧頂操作符優(yōu)先級,則將堆棧S1棧頂操作符彈出,壓入S2堆棧,再將該運算符Op與堆棧S1棧頂?shù)牟僮鞣麅?yōu)先級做比較,重復該操作直至棧頂運算符優(yōu)先級不高于運算符Op的優(yōu)先級,將運算符Op入堆棧S1;若運算符Op優(yōu)先級高于棧頂運算符優(yōu)先級,則直接將運算符Op存入堆棧S1;

對于運算符‘(’,則直接存入堆棧S1,若為‘)’,則將距離S1棧頂最近的‘(’及S1棧頂之間的字符彈出并依次送入堆棧S2,并丟棄‘(’;

(3.4)重復以上步驟3.1~3.2,直到單個表達式解析完,最后將堆棧S1中的所有運算符彈出并壓入堆棧S2,此時依次彈出堆棧S2中的字符構(gòu)成的字符串即為轉(zhuǎn)換后的后序表達式。

優(yōu)選的,運算符的優(yōu)先級如下:最高優(yōu)先級包括乘號“*”和除號“÷”,最低優(yōu)先級包括加號“+”和減號“-”。

優(yōu)選的,步驟(4)中計算標準值V、上偏差VH、下偏差VL數(shù)值的具體方法為:

(4.1)取得觀測量d、d1、d2;

(4.2)將觀測量d、d1、d2分別代入步驟(3)中轉(zhuǎn)換所得的后序表達式中,替代表達式中變量的值;

(4.3)在內(nèi)存中新建一個堆棧S0,依次讀取后續(xù)表達式中的字符,若讀入的字符是數(shù)字,則壓入堆棧S0;如果是運算符,則將S0中最上面的兩個操作數(shù)彈出并利用運算符進行相應(yīng)運算,將運算結(jié)果壓入堆棧S0,當表達式掃描完,堆棧S0中的數(shù)值即為計算結(jié)果。

本發(fā)明與現(xiàn)有技術(shù)相比具有如下優(yōu)點:

(1)本發(fā)明的“逆波蘭式”算法的判據(jù)自動解析方法,實現(xiàn)了具有依賴值的測量數(shù)據(jù)的自動解析和判讀,解決了傳統(tǒng)技術(shù)無法在配置文件中對間接判據(jù)進行配置的弊端,使得判讀技術(shù)更為靈活,通用。

(2)用戶使用時只需按照正常理解輸入中序表達式,該技術(shù)可自動轉(zhuǎn)換為計算機容易理解的“逆波蘭式”,進而進行解析、計算,避免了人為操作可能導致的錯誤。

附圖說明

圖1為本發(fā)明自動判讀原理示意圖;

圖2為本發(fā)明自動判讀方法流程圖。

具體實施方式

下面結(jié)合附圖對本發(fā)明作進一步詳細說明。

“逆波蘭式”算法的判據(jù)自動解析方法包括如下步驟:

(1)配置判據(jù)文件,將所需判讀的參數(shù)標準值V、上偏差VH、下偏差VL寫入配置文件,標準值V依賴于d,上偏差VH依賴于觀測量d1,下偏差VL依賴于觀測量d2;采用常用文本編輯器根據(jù)具體判據(jù)范圍,將參數(shù)標準值V、上偏差VH、下偏差VL按照中序表達式的方式寫入到判據(jù)配置文件中,判據(jù)文件采用UTF-8編碼的文本文件保存,以方便操作者編寫以及計算機讀取。

(2)自動判讀模塊讀取配置判據(jù)文件,讀取標準值V、上偏差VH、下偏差VL的中序表達式;以字符串流的方式順序讀入判據(jù)文件,以空格字符分割標準值V,上偏差VH和下偏差VL,以回車換行符區(qū)分不同的參數(shù)名稱。

(3)采用“逆波蘭式”算法將標準值V、上偏差VH、下偏差VL中的中序表達式轉(zhuǎn)換為后序表達式;

3.1在內(nèi)存中分配兩個堆棧S1和S2,分別用于臨時存儲運算符和轉(zhuǎn)換后的逆波蘭式;

3.2依次讀取中序表達式,若讀入的是操作數(shù),則將操作數(shù)輸出到堆棧S2;

3.3若取出的字符是運算符Op,如果此時堆棧S1為空,則將該運算符保存入堆棧S1,如果此時堆棧S1非空,則將該運算符Op與堆棧S1棧頂?shù)牟僮鞣麅?yōu)先級做比較,若低于堆棧S1棧頂操作符優(yōu)先級,則將堆棧S1棧頂操作符彈出,壓入S2堆棧,再將該運算符Op與堆棧S1棧頂?shù)牟僮鞣麅?yōu)先級做比較,重復該操作直至棧頂運算符優(yōu)先級不高于運算符Op的優(yōu)先級,將運算符Op入堆棧S1;若運算符Op優(yōu)先級高于棧頂運算符優(yōu)先級,則直接將運算符Op存入堆棧S1;

對于運算符‘(’,則直接存入堆棧S1,若為‘)’,則將距離S1棧頂最近的‘(’及S1棧頂之間的字符彈出并依次送入堆棧S2,并丟棄‘(’;

3.4重復以上步驟3.1~3.2,直到單個表達式解析完,最后將堆棧S1中的所有運算符彈出并壓入堆棧S2,此時依次彈出堆棧S2中的字符構(gòu)成的字符串即為轉(zhuǎn)換后的后序表達式。

運算符的優(yōu)先級如下:最高優(yōu)先級包括乘號“*”和除號“÷”,最低優(yōu)先級包括加號“+”和減號“-”。

(4)根據(jù)觀測量d、d1、d2的測量結(jié)果,計算標準值V、上偏差VH、下偏差VL數(shù)值;

4.1取得觀測量d、d1、d2;

4.2將觀測量d、d1、d2分別代入步驟(3)中轉(zhuǎn)換所得的后序表達式中,替代表達式中變量的值;

4.3在內(nèi)存中新建一個堆棧S0,依次讀取后續(xù)表達式中的字符,若讀入的字符是數(shù)字,則壓入堆棧S0;如果是運算符,則將S0中最上面的兩個操作數(shù)彈出并利用運算符進行相應(yīng)運算,將運算結(jié)果壓入堆棧S0,當表達式掃描完,堆棧S0中的數(shù)值即為計算結(jié)果。

(5)判斷所需判讀的參數(shù)是否合格。即判斷計算結(jié)果是否在合格范圍內(nèi),并輸出判讀結(jié)果。

實施例:

如在慣組的某項測試中,參數(shù)NGX的判讀標準值為(98+11*D0x)÷Kgx,上偏差為6÷Kgx,下偏差為-5÷Kgx,則配置文件采用如下的描述方式:

為了方便計算機解析,需要先將中序表達式轉(zhuǎn)換為“逆波蘭式”。逆波蘭式是將運算符號置于操作數(shù)之后的一種表達方式,這種表達方式對于計算機解析非常方便。轉(zhuǎn)換后的后序表達式如下:

在需要對待判讀參數(shù)進行判讀之前,所依賴的其他所有參數(shù)值均應(yīng)為已確定的,如對NGX進行判讀前,所依賴的D0x,Kgx均可從慣組諸元中取得,因此計算機對上述逆波蘭式進行解析、計算,即可得出判讀所需的標準值、上偏差和下偏差。

本發(fā)明設(shè)計了基于“逆波蘭式”算法的判據(jù)自動解析技術(shù),逆波蘭式(Reverse Polish Notation)又稱為后綴表達式,后綴表達式將二元運算符放置在操作數(shù)之后,相比與中綴表達式的記法更加符合計算機處理表達式的邏輯順序,易于計算機執(zhí)行。

在本發(fā)明中,用戶可直接將判據(jù)的計算公式采用自然語言描述,記錄在配置文件中,該技術(shù)可以自動解析采用自然語言描述的數(shù)學公式,將其轉(zhuǎn)換為方便計算機處理的“逆波蘭式”,進而計算出判據(jù)的具體范圍,對待判讀量進行判讀。

以上所述,僅為本發(fā)明最佳的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。

本發(fā)明說明書中未作詳細描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員的公知技術(shù)。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
葵青区| 黔西县| 海伦市| 资阳市| 达尔| 邳州市| 桂平市| 南岸区| 富锦市| 仲巴县| 轮台县| 灵丘县| 太保市| 石家庄市| 马关县| 建平县| 霸州市| 哈巴河县| 华蓥市| 绩溪县| 图木舒克市| 鸡泽县| 呼图壁县| 盐源县| 内江市| 额尔古纳市| 米泉市| 南宁市| 银川市| 乌什县| 朝阳区| 罗江县| 区。| 怀仁县| 彭阳县| 清远市| 翁牛特旗| 海兴县| 苏尼特右旗| 邳州市| 海安县|