本發(fā)明涉及表達方法,特別涉及一種通用的圖表表達方法。
背景技術(shù):
目前計算程序涉及到規(guī)范時最雜亂的就是圖表,數(shù)量繁多,相互關(guān)聯(lián),沒有規(guī)律;規(guī)范的變動對程序影響很大,程序需要各規(guī)范各圖表的逐個處理,導(dǎo)致程序在圖表的處理上費時費力,處理過程和結(jié)果用戶難以干涉,使用局限性無法滿足所有需求。
目前計算程序在處理圖表時使用如下兩種方式:
方式一:程序提供界面填寫部分參數(shù),程序內(nèi)部根據(jù)具體規(guī)范具體圖表按照某種約定計算得到結(jié)果。大部分圖表都采用這種處理方式。由于規(guī)范多,圖表內(nèi)容多,需要為每個規(guī)范每種圖表編制對應(yīng)的界面,這樣,界面會內(nèi)容繁雜,毫無規(guī)律,看上去很復(fù)雜;同時程序內(nèi)部需要為各規(guī)范各圖表編制代碼處理各種情況,對代碼的編制、測試及修改都是巨大的工作量;這種方式用戶無法干預(yù)圖表的結(jié)果,在科學(xué)研究、特殊項目等需要修改圖表結(jié)果時無法滿足要求;同時程序?qū)σ?guī)范的依賴也限制了程序的應(yīng)用。
方式二:某些圖表,如果用戶需求變化多,或影響圖表結(jié)果的因素不固定,程序會放棄處理,讓用戶直接填寫圖表結(jié)果。把處理過程的難度全部轉(zhuǎn)嫁給用戶;這類圖表的結(jié)果用戶獲取的過程很復(fù)雜,需要事先利用工具和經(jīng)驗加工,并且這種加工過程每次都要重復(fù),正確性也不易保證。這類圖表的應(yīng)用非常的痛苦,極大地限制了使用程序的效率。
技術(shù)實現(xiàn)要素:
本發(fā)明是為了解決上述問題而進行的,目的在于提供一種效率高,功能強,方法簡單的通用的圖表表達方法。
本發(fā)明提供的通用的圖表表達方法,具有這樣的特征,包括以下步驟:
步驟a,圖表定義;
步驟b,圖表解析;以及
步驟c,圖表計算;
其中,步驟a,具有以下步驟:
步驟a1,圖表使用界面的定義;以及
步驟a2,圖表計算過程的定義;
步驟b,具有以下步驟:
步驟b1,整理圖表;以及
步驟b2,解析圖表過程;
步驟c,具有以下步驟:
步驟c1,圖表計算的前處理;
步驟c2,判斷變量是否可計算;
步驟c3,變量計算;
步驟c4,迭代直到全部變量完成計算;
步驟c5,特殊變量重新計算;以及
步驟c6,獲得圖表結(jié)果。
本發(fā)明提供的通用的圖表表達方法,還具有這樣的特征:其中,所述圖表界面定義為定制使用圖表的界面,包含界面顯示和輸入方式,所述輸入方式為下拉指定內(nèi)容或輸入數(shù)據(jù),所述數(shù)據(jù)可以是用戶輸入,也可以是程序支持的內(nèi)部變量或缺省值,自動輸入。
本發(fā)明提供的通用的圖表表達方法,還具有這樣的特征:其中,所述圖表計算過程的定義表現(xiàn)為變量定義,包含成員變量定義、方法變量定義、圖表結(jié)果變量定義,變量定義不限順序,可被其它變量引用,同一變量可以定義多條,每條的有效條件可以是多個,每個條件表現(xiàn)為變量值離散點或區(qū)間判斷。
本發(fā)明提供的通用的圖表表達方法,還具有這樣的特征:其中,所述變量定義,其內(nèi)容為變量名稱、變量值和變量描述,變量名稱代表圖表的一個子過程或結(jié)果,在變量值中可被引用,變量值可以表達多維表、表達式和圖形,多維表使用時使用插值計算,表達式實現(xiàn)函數(shù)、數(shù)組和數(shù)學(xué)運算。
本發(fā)明提供的通用的圖表表達方法,還具有這樣的特征:其中,所述成員變量定義,可以多次定義,使用時以最近定義的優(yōu)先,所述方法變量定義,可用于實現(xiàn)較復(fù)雜且多次重用的計算過程組,也可以實現(xiàn)自定義的函數(shù)功能,所述的圖表結(jié)果變量定義,其表現(xiàn)為y=f(x),y為圖表結(jié)果變量,x指定時,y代表一個值,x不指定時,根據(jù)圖表結(jié)果變量的定義自動生成一組x,y的對應(yīng)值。
本發(fā)明提供的通用的圖表表達方法,還具有這樣的特征:其中,所述整理圖表,指把圖表整理成多組,每組的目的為計算結(jié)果變量值,每組包含成員變量和結(jié)果變量,成員變量解決結(jié)果變量計算時的某子過程,為計算過程的中間值,結(jié)果變量代表了圖表結(jié)果值,表現(xiàn)為單個值或一組關(guān)系值,定義連續(xù)圖形時,可通過指定步長控制離散密度。
本發(fā)明提供的通用的圖表表達方法,還具有這樣的特征:其中,所述解析圖表過程,分為已知變量、條件整理、表達式預(yù)處理,已知變量用于統(tǒng)計變量定義時使用到的其它變量集,條件整理用于統(tǒng)計變量定義的條件集與各條件的變量表達,表達式預(yù)處理用于提高計算速度,提前保存所有表達式的計算過程。
本發(fā)明提供的通用的圖表表達方法,還具有這樣的特征:其中,所述變量計算,分為條件計算、變量值加工和存儲,變量有效條件為區(qū)間時,選用有效區(qū)間計算變量值,變量有效條件為離散點時,變量值通過離散點插值計算。
本發(fā)明提供的通用的圖表表達方法,還具有這樣的特征:其中,所述特殊變量是與自變量x直接相關(guān)或間接相關(guān)的變量,當x不指定時,根據(jù)特殊變量的有效條件獲得x的一組值,當有效條件為區(qū)間時,可以指定區(qū)間離散的步長,根據(jù)各x重新計算特殊變量值。
本發(fā)明提供的通用的圖表表達方法,還具有這樣的特征:其中,在使用所述圖表結(jié)果時提供了圖形查看和表格查看,圖形查看為二維線性圖或三維效果圖,具體的值通過所述表格查看獲得。
發(fā)明作用和效果
根據(jù)本發(fā)明所涉及通用的圖表表達方法,程序只需要編制圖表通用表達的代碼,這種代碼是平臺級的,與規(guī)范無關(guān),與具體圖表無關(guān);把圖表分為圖表定義和圖表使用,圖表定義含圖表界面定義和圖表計算過程定義,定義可以永久反復(fù)重用,也可以根據(jù)需要修改,這樣方式,圖表處理過程完全透明,可以滿足各類需求;使用界面也可以修改,所有的圖表界面統(tǒng)一,使用簡單;通過本發(fā)明能使程序不用編寫具體圖表的代碼,在圖表處理上不再依賴規(guī)范,對擴大程序的應(yīng)用面以及提高程序的編制效率有重大作用,對于目前方式二處理的圖表,這種方式即能容易的檢查處理過程的正確性,反復(fù)重用也很大地提高了程序的使用效率;使得這些雜亂的內(nèi)容能夠通過通用的方式解決,通過本技術(shù)可以簡單靈活的表達各種圖表,使得計算程序在應(yīng)用圖表時不再依賴規(guī)范,不需要編制大量代碼,在圖表處理上極大的簡化了計算程序的編制,處理過程和結(jié)果全透明,使用不再受程序局限,用戶可以根據(jù)任意需求完成定制。
附圖說明
圖1是本發(fā)明在實施例中的通用的圖表表達方法的流程圖。
具體實施方式
以下參照附圖及實施例對本發(fā)明所涉及的通用的圖表表達方法作詳細的描述。
實施例
圖1是本發(fā)明在實施例中的通用的圖表表達方法的系統(tǒng)框圖。
如圖1所示,通用的圖表表達方法,具有以下步驟:
步驟a:圖表定義,進入步驟b。
步驟a又分為兩個步驟,步驟a1,圖表使用界面的定義。
圖表使用界面定義定制使用圖表的界面,界面完全由用戶控制,保證了界面的用戶習慣及專業(yè)性,用戶界面統(tǒng)一:選擇要用的圖表,此時會根據(jù)數(shù)據(jù)庫的定義自動生成本圖表的界面,界面內(nèi)容為2列的表格,要輸入的內(nèi)容以及對應(yīng)的值,值可以是數(shù)組或單個值。
圖表的使用界面定義表現(xiàn)為圖表結(jié)果變量名稱、需要已知的變量名稱、界面顯示內(nèi)容,變量的取值范圍;定義了外部使用該圖表結(jié)果時需要輸入的內(nèi)容;已知的變量名稱會在變量值中被引用;當界面變量值為下拉時,下拉內(nèi)容為變量的取值范圍,界面顯示內(nèi)容為自動提供給用戶使用的界面,可以定義自動值,自動值為普通值或內(nèi)部變量值,此時該條目將不會顯示,使用時會自動賦值。一個圖表結(jié)果可以定義多個條目,若所有的圖表結(jié)果都需要某條目時,該條目處的圖表結(jié)果名稱為空即可。
步驟a2,圖表計算過程的定義。其表現(xiàn)為變量定義,包含成員變量定義、方法變量定義、圖表結(jié)果變量定義,三種變量通過其名字可以分辨出來,圖表結(jié)果變量在名稱前加$區(qū)分,方法變量含參數(shù),參數(shù)在一對括號中,多個參數(shù)之間用逗號隔開;變量名稱可由數(shù)字字母下劃線組成,不能含有運算符,括號等特殊符號。
成員變量代表了圖表運算中的一個子過程,相互之間可引用;圖表結(jié)果變量定義與成員變量定義方法完全一樣,由于使用場景不同,區(qū)別在于圖表結(jié)果變量還需要定義界面,用戶可以在外部通過輸入已知條件值獲得圖表結(jié)果。
方法變量定義是一種高級用法,相當于是一個嵌套圖表,也可以當作是自定義的函數(shù),用于實現(xiàn)一個較復(fù)雜的計算過程,在圖表過程定義中反復(fù)重用,使用時象函數(shù)方法一樣,通過傳遞參數(shù)值,獲得結(jié)果;對于復(fù)雜的圖表定義,這可以用來減少相似成員變量的數(shù)量,使圖表過程定義過程看上去更簡潔,可根據(jù)實際情況選用。
圖表過程的定義歸根到底其本質(zhì)就是變量的定義,通過提供各種變量的定義方法使得圖表過程定義統(tǒng)一。成員變量與方法變量僅在圖表過程定義中使用,圖表結(jié)果變量在圖表定義過程以及外部均可使用。
圖表過程定義通過各種變量的定義來實現(xiàn)其過程;變量的定義表現(xiàn)形式為變量名稱、變量值和變量描述;變量名稱為前面所述的三種變量,代表圖表的一個子過程或結(jié)果,在變量值中可被引用;變量描述相當于變量注釋,最重要的變量值可以實現(xiàn)圖表的任意子過程。變量值的表現(xiàn)形式為多維表、表達式和圖形三種,多維表使用時使用插值計算,表達式實現(xiàn)函數(shù)、數(shù)組和數(shù)學(xué)運算。
在變量值中可以引用定義的變量,以圖表結(jié)果變量為分割線作為變量域空間,同一變量域空間的成員變量和方法變量定義不分順序;后面變量域空間的變量可以引用前面域空間中的變量,當同一變量名被多次定義時,以最近域空間最后定義時優(yōu)先。變量值可以是多條件值,計算時選用成立的條件時的值為該變量的結(jié)果值,如表達式,表達式的功能豐富多樣,支持數(shù)組的運算、各類函數(shù)運算,甚至可以用方法變量來自定義函數(shù)功能;變量值也可以是多個離散點值,計算時根據(jù)外部條件進行插值作為該變量的結(jié)果值,如多維表格;變量值也可以是多區(qū)域值,其結(jié)果值為區(qū)域的合并值,如圖形。
步驟b:對所述圖表進行分類,進入步驟c。
步驟b又分為兩個步驟,步驟b1,整理圖表。所述整理圖表指把圖表整理成多組,每組的目的為計算結(jié)果變量值,每組包含成員變量和結(jié)果變量;成員變量解決結(jié)果變量計算時的某子過程,為計算過程的中間值;結(jié)果變量代表了圖表結(jié)果值,表現(xiàn)為單個值或一組關(guān)系值,定義連續(xù)圖形時,可通過指定步長控制離散密度。
步驟b2,其中,所述解析圖表過程,變量解析需要已知的變量、條件整理和表達式預(yù)處理;已知變量用于統(tǒng)計變量定義時使用到的其它變量集,條件整理用于統(tǒng)計變量定義的條件集與各條件的變量表達,表達式預(yù)處理用于提高計算速度,提前保存所有表達式的計算過程。
步驟c:圖表計算。
步驟c又分為六個步驟,步驟c1,圖表計算的前處理,進入步驟c2。
步驟c2,判斷變量是否可計算,變量定義時使用到的其它變量集,包含條件與表達式中出現(xiàn)的其它變量都已經(jīng)完成計算,則表示該變量可以計算;如果不可以,判斷下一個變量是否可計算;如果可以,進入步驟c3。
步驟c3,變量計算。其中,所述變量計算,分為條件計算、變量值加工和存儲,變量有效條件為區(qū)間時,選用有效區(qū)間計算變量值,變量有效條件為離散點時,變量值通過離散點插值計算。
步驟c4,全部變量完成計算,判斷所有的變量是否全部計算完成,如果沒有,返回步驟c2,重新計算所有的變量;如果有,進入步驟c5。
步驟c5,特殊變量重新計算;其中,所述特殊變量是與自變量x直接相關(guān)或間接相關(guān)的變量,當x不指定時,根據(jù)特殊變量的有效條件獲得x的一組值,當有效條件為區(qū)間時,可以指定區(qū)間離散的步長,根據(jù)各x重新計算特殊變量值。
步驟c6,獲得圖表結(jié)果。
圖表過程中的任意子過程都可以分解成表達式、表格和圖形,從而通過本發(fā)明可以完成任意圖表的定義。
為了讓用戶更直觀和清楚的掌握圖表結(jié)果,在使用圖表結(jié)果時提供了圖形察看和表格察看。使用方法為選擇要用的圖表結(jié)果,填寫該圖表結(jié)果需要提供的已知變量值,確定后就會即時獲得圖形,圖形根據(jù)需要可能是二維線性圖或三維效果圖;具體的值通過表格查看獲得。
實施例的作用與效果
根據(jù)本實施例所涉及通用的圖表表達方法,程序只需要編制圖表通用表達的代碼,這種代碼是平臺級的,與規(guī)范無關(guān),與具體圖表無關(guān);把圖表分為圖表定義和圖表使用,圖表定義含圖表界面定義和圖表計算過程定義,定義可以永久反復(fù)重用,也可以根據(jù)需要修改,這樣方式,圖表處理過程完全透明,可以滿足各類需求;使用界面也可以修改,所有的圖表界面統(tǒng)一,使用簡單;通過本發(fā)明能使程序不用編寫具體圖表的代碼,在圖表處理上不再依賴規(guī)范,對擴大程序的應(yīng)用面以及提高程序的編制效率有重大作用,對于目前方式二處理的圖表,這種方式即能容易的檢查處理過程的正確性,反復(fù)重用也很大地提高了程序的使用效率;使得這些雜亂的內(nèi)容能夠通過通用的方式解決,通過本技術(shù)可以簡單靈活的表達各種圖表,使得計算程序在應(yīng)用圖表時不再依賴規(guī)范,不需要編制大量代碼,在圖表處理上極大的簡化了計算程序的編制,處理過程和結(jié)果全透明,使用不再受程序局限,用戶可以根據(jù)任意需求完成定制。
上述實施方式為本發(fā)明的優(yōu)選案例,并不用來限制本發(fā)明的保護范圍。