本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,具體而言,涉及一種電能計(jì)量數(shù)據(jù)的處理方法和裝置。
背景技術(shù):
測(cè)量結(jié)果的數(shù)據(jù)處理,是計(jì)量測(cè)試的一個(gè)重要環(huán)節(jié),只有合理的數(shù)據(jù)處理,才能取得合理的結(jié)果。數(shù)據(jù)處理既不應(yīng)該提高測(cè)量精度,也不能降低測(cè)量精度,而應(yīng)該切實(shí)地反映客觀的測(cè)量精度,測(cè)量誤差理論是進(jìn)行測(cè)量數(shù)據(jù)處理的重要基礎(chǔ)。
數(shù)值修約,是指對(duì)數(shù)值的位數(shù)進(jìn)行限定選取的一種處理。在工作中,往往會(huì)遇到多位數(shù)的數(shù)值,但實(shí)際需要的卻是限定的較少位數(shù),也就是說(shuō)沒(méi)有必要保留多余的位數(shù),應(yīng)對(duì)數(shù)值進(jìn)行修約。在計(jì)量的各個(gè)領(lǐng)域內(nèi),都會(huì)用到數(shù)據(jù)修約。
對(duì)于目前的電能測(cè)量領(lǐng)域(例如電能表)來(lái)說(shuō),一般采用脈沖計(jì)數(shù)、比較法來(lái)計(jì)算誤差,且一般采用相對(duì)誤差。各個(gè)廠商的設(shè)計(jì)計(jì)算方法或許有不同,但其采用的基礎(chǔ)理論就是測(cè)量值與約定真值之絕對(duì)誤差與被測(cè)量的約定真值之比。這種通過(guò)了數(shù)學(xué)計(jì)算得出的誤差,其結(jié)果位數(shù)可能很多,但是已經(jīng)不具備多少客觀意義。因此修約之后的數(shù)值更能便捷反映測(cè)量結(jié)果。
中華人民共和國(guó)國(guó)家計(jì)量檢定規(guī)程中,要求對(duì)檢定結(jié)果進(jìn)行處理,對(duì)于測(cè)量數(shù)據(jù)修約進(jìn)行了規(guī)定。例如《JJG307-2006JI機(jī)電式交流電能表》明確提出須對(duì)測(cè)量結(jié)果進(jìn)行數(shù)據(jù)修約,并明確規(guī)定:判斷電能表相對(duì)誤差是否符合相關(guān)要求,一律以修約后的結(jié)果為準(zhǔn)。
但是對(duì)于新參加工作的人員,記憶和理解修約規(guī)則,需要時(shí)間。在進(jìn)行數(shù)據(jù)處理時(shí),也可能發(fā)生錯(cuò)誤。如果發(fā)生錯(cuò)誤,會(huì)影響檢定結(jié)果,且此錯(cuò)誤不易發(fā)現(xiàn)。即使是工作多年的老員工,對(duì)于數(shù)據(jù)處理規(guī)則一般也不易完全記憶清晰,需要的時(shí)候也會(huì)翻書查閱。學(xué)歷較低的員工,對(duì)于自己的修約結(jié)果持懷疑態(tài)度,需要多次核查以確認(rèn)正確性。
除了人為造成的計(jì)算錯(cuò)誤以外,人工計(jì)算的效率也十分低下。在電能計(jì)量領(lǐng)域中,不可避免地會(huì)遇到大量的數(shù)據(jù)處理工作。即使對(duì)于熟練的員工,如果按照每分鐘能夠處理4個(gè)數(shù)據(jù)修約來(lái)計(jì)算,處理10000個(gè)數(shù)據(jù),也需要持續(xù)工作2500分鐘才行,就是60多個(gè)小時(shí)。人工成本及其高昂。
針對(duì)現(xiàn)有技術(shù)中對(duì)電能計(jì)量中的誤差數(shù)據(jù)進(jìn)行人工修約處理,導(dǎo)致人工成本高且數(shù)據(jù)準(zhǔn)確度低的問(wèn)題,目前尚未提出有效的解決方案。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種電能計(jì)量數(shù)據(jù)的處理方法和裝置,以至少解決現(xiàn)有技術(shù)中對(duì)電能計(jì)量中的誤差數(shù)據(jù)進(jìn)行人工修約處理,導(dǎo)致人工成本高且數(shù)據(jù)準(zhǔn)確度低的技術(shù)問(wèn)題。
根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種電能計(jì)量數(shù)據(jù)的處理方法,包括:獲取待處理數(shù)據(jù),其中,待處理數(shù)據(jù)為測(cè)量誤差數(shù)據(jù),測(cè)量誤差數(shù)據(jù)根據(jù)測(cè)量值與約定真值得到;將待處理數(shù)據(jù)輸入至預(yù)設(shè)算法,得到待處理數(shù)據(jù)對(duì)應(yīng)的結(jié)果,其中,預(yù)設(shè)算法用于對(duì)待處理數(shù)據(jù)進(jìn)行修約處理。
根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種電能計(jì)量數(shù)據(jù)的處理裝置,包括:獲取模塊,用于獲取待處理數(shù)據(jù),其中,待處理數(shù)據(jù)為測(cè)量誤差數(shù)據(jù),測(cè)量誤差數(shù)據(jù)根據(jù)測(cè)量值與約定真值得到;計(jì)算模塊,用于將待處理數(shù)據(jù)輸入至預(yù)設(shè)算法,得到待處理數(shù)據(jù)對(duì)應(yīng)的結(jié)果,其中,預(yù)設(shè)算法用于對(duì)待處理數(shù)據(jù)進(jìn)行修約處理。
值得注意的是,現(xiàn)有技術(shù)中對(duì)于電能計(jì)量數(shù)據(jù)的誤差數(shù)據(jù)的處理仍然通過(guò)人工處理的手段對(duì)數(shù)據(jù)進(jìn)行處理,使用人工的處理方法對(duì)數(shù)據(jù)進(jìn)行修約處理時(shí),效率低、消耗的人力大,時(shí)間長(zhǎng)且準(zhǔn)確度很難達(dá)到100%。
在本發(fā)明實(shí)施例中,獲取待處理數(shù)據(jù),將待處理數(shù)據(jù)輸入至預(yù)設(shè)算法,得到待處理數(shù)據(jù)對(duì)應(yīng)的結(jié)果。上述方案通過(guò)預(yù)設(shè)算法對(duì)位數(shù)較多的待處理數(shù)據(jù)進(jìn)行修約處理,以低人員消耗和時(shí)間消耗得到了正確率100%的位數(shù)較少的數(shù)據(jù),從而解決了現(xiàn)有技術(shù)中對(duì)電能計(jì)量中的誤差數(shù)據(jù)進(jìn)行人工修約處理,導(dǎo)致人工成本高且數(shù)據(jù)準(zhǔn)確度低技術(shù)問(wèn)題。
附圖說(shuō)明
此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
圖1是根據(jù)本發(fā)明實(shí)施例的電能計(jì)量數(shù)據(jù)的處理方法的流程圖;
圖2a是根據(jù)本申請(qǐng)的一種通過(guò)算法對(duì)待處理數(shù)據(jù)進(jìn)行修約處理的結(jié)果示意圖;
圖2b是根據(jù)本申請(qǐng)的第二種通過(guò)算法對(duì)待處理數(shù)據(jù)進(jìn)行修約處理的結(jié)果示意圖;
圖2c是根據(jù)本申請(qǐng)的第三種通過(guò)算法對(duì)待處理數(shù)據(jù)進(jìn)行修約處理的結(jié)果示意圖;
圖2d是根據(jù)本申請(qǐng)的第四種通過(guò)算法對(duì)待處理數(shù)據(jù)進(jìn)行修約處理的結(jié)果示意圖;
圖2e是根據(jù)本申請(qǐng)的第五種通過(guò)算法對(duì)待處理數(shù)據(jù)進(jìn)行修約處理的結(jié)果示意圖;
圖2f是根據(jù)本申請(qǐng)的第六種通過(guò)算法對(duì)待處理數(shù)據(jù)進(jìn)行修約處理的結(jié)果示意圖;
圖3a是根據(jù)本申請(qǐng)實(shí)施例的一種可選的同時(shí)處理6個(gè)數(shù)據(jù)的示意圖;
圖3b是根據(jù)本申請(qǐng)實(shí)施例的一種可選的同時(shí)處理6個(gè)數(shù)據(jù)的結(jié)果示意圖;
圖4是根據(jù)本申請(qǐng)實(shí)施例的一種通過(guò)本實(shí)施例的方法對(duì)待處理數(shù)據(jù)進(jìn)行修約處理所使用的時(shí)間的示意圖;
圖5是根據(jù)本申請(qǐng)實(shí)施例的一種通過(guò)Matlab程序多個(gè)數(shù)據(jù)進(jìn)行修約處理的示意圖;以及
圖6是根據(jù)本申請(qǐng)實(shí)施例的一種電能計(jì)量數(shù)據(jù)的處理裝置的示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
需要說(shuō)明的是,本發(fā)明的說(shuō)明書和權(quán)利要求書及上述附圖中的術(shù)語(yǔ)“第一”、“第二”等是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語(yǔ)“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過(guò)程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒(méi)有清楚地列出的或?qū)τ谶@些過(guò)程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
實(shí)施例1
根據(jù)本發(fā)明實(shí)施例,提供了一種電能計(jì)量數(shù)據(jù)的處理方法的實(shí)施例,需要說(shuō)明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
圖1是根據(jù)本發(fā)明實(shí)施例的電能計(jì)量數(shù)據(jù)的處理方法的流程圖,如圖1所示,該方法包括如下步驟:
步驟S102,獲取待處理數(shù)據(jù),其中,待處理數(shù)據(jù)為測(cè)量誤差數(shù)據(jù),測(cè)量誤差數(shù)據(jù)根據(jù)測(cè)量值與約定真值得到。
具體的,上述待處理數(shù)據(jù)可以是采用脈沖計(jì)數(shù)、比較法等方法計(jì)算得到的誤差數(shù)據(jù),且一般采用相對(duì)誤差,但無(wú)論采用哪一種計(jì)算誤差的方法。其基礎(chǔ)理論就是測(cè)量值與約定真值之絕對(duì)誤差與被測(cè)量的約定真值之比。需要的注意的是,這種通過(guò)了數(shù)學(xué)計(jì)算得出的誤差,其結(jié)果位數(shù)可能很多。
步驟S104,將待處理數(shù)據(jù)輸入至預(yù)設(shè)算法,得到待處理數(shù)據(jù)對(duì)應(yīng)的結(jié)果,其中,預(yù)設(shè)算法用于對(duì)待處理數(shù)據(jù)進(jìn)行修約處理。
上述待處理數(shù)據(jù)對(duì)應(yīng)的結(jié)果為相對(duì)于待處理數(shù)據(jù)來(lái)說(shuō),位數(shù)較少的數(shù)據(jù),待處理數(shù)據(jù)對(duì)應(yīng)的結(jié)果的位數(shù)可以根據(jù)需求設(shè)置。
具體的,上述數(shù)值修約是指對(duì)數(shù)值的位數(shù)進(jìn)行限定選取的一種處理。在實(shí)際應(yīng)用中往往會(huì)遇到多位數(shù)的數(shù)值,但實(shí)際需要的卻是限定的較少位數(shù),也就是說(shuō)沒(méi)有必要保留多余的位數(shù),應(yīng)對(duì)數(shù)值進(jìn)行修約。例如,上述步驟中的待處理數(shù)據(jù)就可以是位數(shù)很多的數(shù)據(jù),在待處理數(shù)據(jù)位數(shù)很多,但實(shí)際需求的位置較少的情況下,對(duì)待處理數(shù)據(jù)進(jìn)行修約處理。
值得注意的是,現(xiàn)有技術(shù)中對(duì)于電能計(jì)量數(shù)據(jù)的誤差數(shù)據(jù)的處理仍然通過(guò)人工處理的手段對(duì)數(shù)據(jù)進(jìn)行處理,使用人工的處理方法對(duì)數(shù)據(jù)進(jìn)行修約處理時(shí),效率低、消耗的人力大,時(shí)間長(zhǎng)且準(zhǔn)確度很難達(dá)到100%。
在一種可選的實(shí)施例中,上述預(yù)設(shè)算法可以通過(guò)編程實(shí)現(xiàn),由于預(yù)設(shè)算法根據(jù)修約規(guī)則構(gòu)建,因此使用預(yù)設(shè)算法對(duì)電能計(jì)量數(shù)據(jù)進(jìn)行修約處理,不僅能夠達(dá)到100%的正確率,還能夠減少人力消耗和時(shí)間消耗,極大程度的提高了數(shù)據(jù)處理效率。
由上可知,本申請(qǐng)上述步驟獲取待處理數(shù)據(jù),將待處理數(shù)據(jù)輸入至預(yù)設(shè)算法,得到待處理數(shù)據(jù)對(duì)應(yīng)的結(jié)果。上述方案通過(guò)預(yù)設(shè)算法對(duì)位數(shù)較多的待處理數(shù)據(jù)進(jìn)行修約處理,以低人員消耗和時(shí)間消耗得到了正確率100%的位數(shù)較少的數(shù)據(jù)。
可選的,根據(jù)本申請(qǐng)上述實(shí)施例,將待處理數(shù)據(jù)輸入至預(yù)設(shè)算法,得到待處理數(shù)據(jù)對(duì)應(yīng)的結(jié)果,包括:
步驟S1041,獲取預(yù)設(shè)的修約間距。
步驟S1043,計(jì)算待處理數(shù)據(jù)與修約間距的商,作為第一結(jié)果數(shù)據(jù)。
步驟S1045,對(duì)第一結(jié)果數(shù)據(jù)進(jìn)行預(yù)設(shè)處理,得到第二結(jié)果數(shù)據(jù)。
步驟S1047,計(jì)算第二結(jié)果數(shù)據(jù)與修約間距的乘積,作為待處理數(shù)據(jù)對(duì)應(yīng)的結(jié)果。
由上可知,本申請(qǐng)上述步驟獲取預(yù)設(shè)的修約間距,計(jì)算待處理數(shù)據(jù)與修約間距的商,作為第一結(jié)果數(shù)據(jù),對(duì)第一結(jié)果數(shù)據(jù)進(jìn)行預(yù)設(shè)處理,得到第二結(jié)果數(shù)據(jù),計(jì)算第二結(jié)果數(shù)據(jù)與修約間距的乘積,作為待處理數(shù)據(jù)對(duì)應(yīng)的結(jié)果。上述方案實(shí)現(xiàn)了通過(guò)預(yù)設(shè)算法計(jì)算對(duì)待處理數(shù)據(jù)進(jìn)行修約處理的目的。
可選的,根據(jù)本申請(qǐng)上述實(shí)施例,對(duì)第一結(jié)果數(shù)據(jù)進(jìn)行預(yù)設(shè)處理,得到第二結(jié)果數(shù)據(jù),包括:
步驟S1049,獲取預(yù)設(shè)的保留位數(shù)。
步驟S1051,根據(jù)第一結(jié)果數(shù)據(jù)獲取保留位數(shù)值。
步驟S1053,根據(jù)保留位數(shù)值和保留位之后的數(shù)值對(duì)保留位數(shù)值進(jìn)行加減操作。
由上可知,本申請(qǐng)上述步驟獲取預(yù)設(shè)的保留位數(shù),根據(jù)第一結(jié)果數(shù)據(jù)獲取保留位數(shù)值,根據(jù)保留位數(shù)值和保留位之后的數(shù)值對(duì)保留位數(shù)值進(jìn)行加減操作。上述方案在確定保留位數(shù)之后,根據(jù)保留位數(shù)的需求,對(duì)保留位的數(shù)值進(jìn)行相應(yīng)的操作,從而對(duì)待處理數(shù)據(jù)進(jìn)行修約處理。
可選的,根據(jù)本申請(qǐng)上述實(shí)施例,根據(jù)保留位數(shù)值和保留位之后的數(shù)值對(duì)保留位數(shù)值進(jìn)行加減操作,包括:
步驟S1055,在保留位后一位的數(shù)值為第一數(shù)值集合中的任意一個(gè)數(shù)值的情況下,舍棄保留位后的數(shù)值,并保持保留位數(shù)值不變。
具體的,上述第一數(shù)據(jù)集合可以是{0,1,2,3,4}。
圖2a是根據(jù)本申請(qǐng)的一種通過(guò)算法對(duì)待處理數(shù)據(jù)進(jìn)行修約處理的結(jié)果示意圖,結(jié)合圖2a所示,在一種可選的實(shí)施例中,測(cè)量誤差是0.52499,以保留位數(shù)為2,修約間距為5作為示例,除以修約間距5,得到第一結(jié)果數(shù)據(jù)為0.104998,保留位為0,保留位的下一位為4,因此保留位的后幾位舍掉,保留位亦不變,得到第二結(jié)果數(shù)據(jù)0.10,再乘以修約間距5,最后得到修約結(jié)果0.50。
圖2b是根據(jù)本申請(qǐng)的第二種通過(guò)算法對(duì)待處理數(shù)據(jù)進(jìn)行修約處理的結(jié)果示意圖,結(jié)合圖2b所示,在一種可選的實(shí)施例中,測(cè)量誤差是0.5749,仍以保留位數(shù)為2,修約間距為5作為示例,除以修約間距5,得到第一結(jié)果數(shù)據(jù)為0.11498,保留位為1,而保留位的下一位為4,因此保留位不變,保留位之后的數(shù)值舍掉,得到第二結(jié)果數(shù)據(jù)0.11,再乘以修約間距5,最后得到修約結(jié)果0.55。
步驟S1057,在保留位后一位的數(shù)值為第二數(shù)值集合中的任意一個(gè)數(shù)值的情況下,舍棄保留位后的數(shù)值,并將保留位數(shù)值加一。
具體的,上述第二數(shù)據(jù)集合可以是{6,7,8,9}。
圖2c是根據(jù)本申請(qǐng)的第三種通過(guò)算法對(duì)待處理數(shù)據(jù)進(jìn)行修約處理的結(jié)果示意圖,結(jié)合圖2c所示,在一種可選的實(shí)施例中,測(cè)量誤差是0.4299,以保留位數(shù)為2,修約間距為5作為示例,除以修約間距5,得到第一結(jié)果數(shù)據(jù)為0.08598,保留位為8,而保留位的下一位為5,且后幾位仍存在非0數(shù)值,因此保留位加1,保留位之后的數(shù)字舍掉,得到第二結(jié)果數(shù)據(jù)為0.09,再乘以修約間距5,最后得到修約結(jié)果0.45。
步驟S1059,在保留位后一位的數(shù)值為預(yù)設(shè)數(shù)值的情況下,如果保留位后一位之后仍存在非零數(shù)值,則舍棄保留位后的數(shù)值的情況下,并將保留位數(shù)值加一。
圖2d是根據(jù)本申請(qǐng)的第四種通過(guò)算法對(duì)待處理數(shù)據(jù)進(jìn)行修約處理的結(jié)果示意圖,結(jié)合圖2d所示,在一種可選的實(shí)施例中,測(cè)量誤差是0.52501,以保留位數(shù)為2,修約間距為5作為示例,除以修約間距5,得到第一結(jié)果數(shù)據(jù)為0.105002,保留位為0,而保留位的下一位為5,且后幾位仍存在非0數(shù)值,因此保留位加1,保留位之后的數(shù)字舍掉,得到第二結(jié)果數(shù)據(jù)為0.11,再乘以修約間距5,最后得到修約結(jié)果0.55。
步驟S1061,在保留位后一位的數(shù)值為第預(yù)設(shè)數(shù)值的情況下,如果保留位后一位之后不存在非零數(shù)值的情況下,則判斷保留位數(shù)值的奇偶性,如果保留位數(shù)值為奇數(shù),則舍棄保留位后的數(shù)值,并將保留位數(shù)值加一,如果保留位數(shù)值為偶數(shù),則舍棄保留位后的數(shù)值,并保持保留位數(shù)值不變。
圖2e是根據(jù)本申請(qǐng)的第五種通過(guò)算法對(duì)待處理數(shù)據(jù)進(jìn)行修約處理的結(jié)果示意圖,結(jié)合圖2e所示,在一種可選的實(shí)施例中,作為待處理數(shù)據(jù)的測(cè)量誤差是0.525,以保留位數(shù)為2,修約間距為5作為示例,除以修約間距5,得到第一結(jié)果數(shù)據(jù)0.105,保留位為0,而保留位的下一位為5,0為偶數(shù),因此保留位不變,保留位的下一位舍掉,得到第二結(jié)果數(shù)據(jù)0.10,再乘以修約間距5,最后得到修約結(jié)果應(yīng)為0.50。
圖2f是根據(jù)本申請(qǐng)的第六種通過(guò)算法對(duì)待處理數(shù)據(jù)進(jìn)行修約處理的結(jié)果示意圖,結(jié)合圖2f所示,在另一種可選的實(shí)施例中,作為待處理數(shù)據(jù)的測(cè)量誤差是0.3750,仍以保留位數(shù)為2,修約間距為5作為示例,除以修約間距5,得到第一結(jié)果數(shù)據(jù)0.075,保留位為7,而保留位的下一位為5,之后再無(wú)其它非0數(shù)值。保留位數(shù)值5為奇數(shù),因此保留位加1,保留位的下一位舍掉,得到第二結(jié)果數(shù)據(jù)0.08,再乘以修約間距5,最后得到修約結(jié)果0.40。
此處需要說(shuō)明的是,由于Matlab程序默認(rèn)保留到小數(shù)點(diǎn)第4位,而此運(yùn)算只需要保留到小數(shù)點(diǎn)后2位,因此在記錄數(shù)據(jù)的時(shí)候把Matlab數(shù)值的小數(shù)點(diǎn)第3、4位的0去掉即可,上述實(shí)施例以0.5級(jí)電能表的相對(duì)誤差修約處理方法為例,對(duì)本申請(qǐng)題述的修約算法進(jìn)行了說(shuō)明。0.5級(jí)電能表的相對(duì)誤差的修約間距為0.05,即:相對(duì)誤差要保留到小數(shù)點(diǎn)后的第2位,且為5的整數(shù)倍,因此修約間距為5。
此處還需要說(shuō)明的是,通過(guò)以上6中情況的數(shù)據(jù)分析,我們發(fā)現(xiàn)通過(guò)此Matlab算法程序得到的結(jié)果完全正確,且涵蓋了所有特殊情況,因此該算法的準(zhǔn)確性是毋庸置疑的。除此優(yōu)越性之外,使用改算法還能夠同時(shí)計(jì)算多個(gè)數(shù)值。圖3a是根據(jù)本申請(qǐng)實(shí)施例的一種可選的同時(shí)處理6個(gè)數(shù)據(jù)的示意圖,圖3b是根據(jù)本申請(qǐng)實(shí)施例的一種可選的同時(shí)處理6個(gè)數(shù)據(jù)的結(jié)果示意圖,結(jié)合圖3a和3b所示的示例,將這6個(gè)數(shù)值儲(chǔ)存在一個(gè)3×2的矩陣A中。使用自定義的xiuyue函數(shù)計(jì)算式,將原來(lái)需要輸入誤差數(shù)值A(chǔ)_err的地方變?yōu)榫仃嘇,也就是xiuyue(0.525,2,5),就能得到一個(gè)新矩陣,結(jié)合圖3b可知,新矩陣的各個(gè)數(shù)值就是原矩陣各個(gè)數(shù)值的修約值,且對(duì)應(yīng)位置亦不變。
圖4是根據(jù)本申請(qǐng)實(shí)施例的一種通過(guò)本實(shí)施例的方法對(duì)待處理數(shù)據(jù)進(jìn)行修約處理所使用的時(shí)間的示意圖。結(jié)合圖4所示,對(duì)上述六個(gè)實(shí)施例中的數(shù)值進(jìn)行修約處理,僅耗時(shí)為6.22×10-4s。
由上可知,本申請(qǐng)上述步驟通過(guò)對(duì)待處理數(shù)據(jù)的保留位以及保留位的下一位進(jìn)行判斷,根據(jù)修越貴的,得到位數(shù)較少的修約數(shù)據(jù)。
可選的,根據(jù)本申請(qǐng)上述實(shí)施例,根據(jù)第一結(jié)果數(shù)據(jù)獲取保留位數(shù)值,包括:
步驟S1063,對(duì)第一結(jié)果數(shù)據(jù)擴(kuò)大n被后的整數(shù)部分取以十為底的對(duì)數(shù),其中,n為以十為底,以保留位數(shù)為指數(shù)的數(shù)值。
步驟S1065,在對(duì)數(shù)為零的情況下,確定整數(shù)部分為保留位數(shù)值。
步驟S1067,在對(duì)數(shù)不為零的情況下,使用第一結(jié)果數(shù)據(jù)擴(kuò)大n被后的數(shù)值對(duì)m取余,確定取余結(jié)果為保留位數(shù)值,其中,m為以十為底數(shù),以對(duì)數(shù)為指數(shù)的數(shù)值。
在一種可選的實(shí)施例中,以待處理數(shù)據(jù)為0.075為例,保留位數(shù)值為小數(shù)點(diǎn)的第2位數(shù)7,則可以對(duì)0.075擴(kuò)大100(此處n=102=100)倍,得到7.5,整數(shù)部分為0,則得到保留位為整數(shù)部分的7。
在另一種可選的實(shí)施例中,以待處理數(shù)據(jù)為0.675為例,保留位數(shù)值為小數(shù)點(diǎn)的第2位數(shù)7,則可以對(duì)0.675擴(kuò)大100(此處n=102=100)倍,得到67.5,整數(shù)部分不為0,則對(duì)10(67.5對(duì)10取對(duì)數(shù)結(jié)果為1,此處m=10)取余,得到保留位為7.。
可選的,根據(jù)本申請(qǐng)上述實(shí)施例,在保留位之后的數(shù)值大于預(yù)設(shè)數(shù)值的情況下,確認(rèn)保留位后一位的數(shù)值為第一數(shù)值集合中的任意一個(gè)數(shù)值,在在保留位之后的數(shù)值小于預(yù)設(shè)數(shù)值的情況下,確認(rèn)保留位后一位的數(shù)值為第二數(shù)值集合中的任意一個(gè)數(shù)值。
例如,在一種可選的實(shí)施例中,預(yù)設(shè)數(shù)值可以為5,則第一數(shù)據(jù)集合可以是{0,1,2,3,4},第二數(shù)據(jù)集合可以是{6,7,8,9}。
可選的,根據(jù)本申請(qǐng)上述實(shí)施例,預(yù)設(shè)算法通過(guò)Matlab程序生成。
在一種可選的實(shí)施例中,可以通過(guò)Matlab編程軟件建立了一個(gè)修約的計(jì)算函數(shù),命名為xiuyue(A_err,res,sd),xiuyue是函數(shù)名,而該函數(shù)存在3個(gè)參量,分別為A_err、res、sd。A_err代表需要被修約的測(cè)量誤差,也就是測(cè)量值,以測(cè)量設(shè)備的讀數(shù)為準(zhǔn);Res代表需要保留的小數(shù)點(diǎn)位數(shù),這里的相對(duì)誤差要保留到小數(shù)點(diǎn)后的第2位,因此Res=2;sd代表修約間距,因此sd=5。如果測(cè)量誤差是0.525,要想得到其修約后的結(jié)果,在Matlab軟件中輸入xiuyue(0.525,2,5),就能得到其對(duì)應(yīng)的修約結(jié)果。上述程序可以為如下程序。
function y=xiuyue(A_err,res,sd)
%這是Matlab軟件設(shè)計(jì)自定義函數(shù)的格式,使用function命令,其中xiuyue是函數(shù)名。這個(gè)函數(shù)需要3個(gè)參數(shù),分別為A_err、res、sd。
%此方法用來(lái)計(jì)算修約。不僅能夠計(jì)算單個(gè)數(shù)值,而且還能計(jì)算一個(gè)數(shù)組,比如針對(duì)一個(gè)200(行)×200(列)的數(shù)組中的每個(gè)數(shù)值進(jìn)行修約計(jì)算,計(jì)算完后將結(jié)果顯示在對(duì)應(yīng)的位置。
%A_err是指測(cè)量誤差(error)數(shù)據(jù)組成的m(行)×n(列)數(shù)組,也就是被修約的數(shù)值組成的數(shù)組;
%res是指需要保留的位數(shù)(reserve units),如果想的誤差需要保存到小數(shù)點(diǎn)第2位,則res=2;
%sd指修約間距(seperate distance),如果修約間距為5,則sd=5。
[m,n]=size(A_err);%得到矩陣的行列數(shù),m是行數(shù),n是列數(shù)
A_final=zeros(m,n);%構(gòu)建一個(gè)m行、n列且全為0的數(shù)組,目的是將所有需要計(jì)算的數(shù)值存放在該數(shù)組里
for i=1:m%對(duì)m行、n列數(shù)組的所有數(shù)值進(jìn)行計(jì)算,需要使用for循環(huán)命令
for j=1:n
%以下內(nèi)容完全第1部分的修約規(guī)則編寫程序,依據(jù)此程序,可以準(zhǔn)確無(wú)誤的計(jì)算數(shù)值修約。
此處需要注意的是,在上述程序中,以待處理數(shù)據(jù)為0.375作為示例,第一步,0.375除以修約間距5,得0.075。由于小數(shù)點(diǎn)第二位7是奇數(shù),因此第3位5舍掉,7進(jìn)一位。由于需要取到小數(shù)點(diǎn)的第2位數(shù)7,即保留位數(shù)值,因此將其乘以10的小數(shù)點(diǎn)位數(shù)次方,取其個(gè)位,從而得到保留位數(shù)值。
再例如,以0.675為例,需要取到小數(shù)點(diǎn)的第2位數(shù)7,即保留位數(shù)值,則可以對(duì)f=log10(c)(這里c是67,介于10-100之間),所以f介于1-2直接,g=1,f不再為0,執(zhí)行后邊的求余判斷語(yǔ)句e=rem(c,10^g),e就是67除以10取余數(shù),得到e=7,即保留位的數(shù)值。
如果采用現(xiàn)有技術(shù)中的方法通過(guò)人工對(duì)數(shù)據(jù)進(jìn)行修約處理,以熟練的員工為例,如果按照每分鐘能夠處理4個(gè)數(shù)據(jù)修約來(lái)計(jì)算,處理10000個(gè)數(shù)據(jù),也需要持續(xù)工作2500分鐘才行,就是60多個(gè)小時(shí)。
圖5是根據(jù)本申請(qǐng)實(shí)施例的一種通過(guò)Matlab程序多個(gè)數(shù)據(jù)進(jìn)行修約處理的示意圖,結(jié)合圖5所示,rand命令是用來(lái)生成0-1之間的隨機(jī)數(shù),將生成的0-1之間的隨機(jī)數(shù)作為測(cè)量誤差。rand(100)用于表示生成一個(gè)100×100矩陣,也就是由10000個(gè)數(shù)值組成的矩陣,該矩陣中的所有元素都是0-1之間的隨機(jī)數(shù),將它存放在矩陣A0中。接下來(lái)使用xiuyue(A0,2,5),也即,對(duì)矩陣A0中的每個(gè)元素進(jìn)行修約處理,其中,修約間距為5,保留位數(shù)為2,最后的計(jì)算時(shí)間顯示為0.390268s,也即通過(guò)人工需要花費(fèi)60多個(gè)小時(shí)完成的工作,通過(guò)本申請(qǐng)實(shí)施例提供的方案,僅需不到0.4s就能實(shí)現(xiàn)。
實(shí)施例1
根據(jù)本發(fā)明實(shí)施例,提供了一種電能計(jì)量數(shù)據(jù)的處理裝置的實(shí)施例,圖6是根據(jù)本申請(qǐng)實(shí)施例的一種電能計(jì)量數(shù)據(jù)的處理裝置的示意圖,結(jié)合圖6所示,該裝置包括:
獲取模塊60,用于獲取待處理數(shù)據(jù),其中,待處理數(shù)據(jù)為測(cè)量誤差數(shù)據(jù),測(cè)量誤差數(shù)據(jù)根據(jù)測(cè)量值與約定真值得到。
具體的,上述待處理數(shù)據(jù)可以是采用脈沖計(jì)數(shù)、比較法等方法計(jì)算得到的誤差數(shù)據(jù),且一般采用相對(duì)誤差,但無(wú)論采用哪一種計(jì)算誤差的方法。其基礎(chǔ)理論就是測(cè)量值與約定真值之絕對(duì)誤差與被測(cè)量的約定真值之比。需要的注意的是,這種通過(guò)了數(shù)學(xué)計(jì)算得出的誤差,其結(jié)果位數(shù)可能很多。
計(jì)算模塊62,用于將待處理數(shù)據(jù)輸入至預(yù)設(shè)算法,得到待處理數(shù)據(jù)對(duì)應(yīng)的結(jié)果,其中,預(yù)設(shè)算法用于對(duì)待處理數(shù)據(jù)進(jìn)行修約處理。
上述待處理數(shù)據(jù)對(duì)應(yīng)的結(jié)果為相對(duì)于待處理數(shù)據(jù)來(lái)說(shuō),位數(shù)較少的數(shù)據(jù),待處理數(shù)據(jù)對(duì)應(yīng)的結(jié)果的位數(shù)可以根據(jù)需求設(shè)置。
具體的,上述數(shù)值修約是指對(duì)數(shù)值的位數(shù)進(jìn)行限定選取的一種處理。在實(shí)際應(yīng)用中往往會(huì)遇到多位數(shù)的數(shù)值,但實(shí)際需要的卻是限定的較少位數(shù),也就是說(shuō)沒(méi)有必要保留多余的位數(shù),應(yīng)對(duì)數(shù)值進(jìn)行修約。例如,上述步驟中的待處理數(shù)據(jù)就可以是位數(shù)很多的數(shù)據(jù),在待處理數(shù)據(jù)位數(shù)很多,但實(shí)際需求的位置較少的情況下,對(duì)待處理數(shù)據(jù)進(jìn)行修約處理。
值得注意的是,現(xiàn)有技術(shù)中對(duì)于電能計(jì)量數(shù)據(jù)的誤差數(shù)據(jù)的處理仍然通過(guò)人工處理的手段對(duì)數(shù)據(jù)進(jìn)行處理,使用人工的處理方法對(duì)數(shù)據(jù)進(jìn)行修約處理時(shí),效率低、消耗的人力大,時(shí)間長(zhǎng)且準(zhǔn)確度很難達(dá)到100%。
在一種可選的實(shí)施例中,上述預(yù)設(shè)算法可以通過(guò)編程實(shí)現(xiàn),由于預(yù)設(shè)算法根據(jù)修約規(guī)則構(gòu)建,因此使用預(yù)設(shè)算法對(duì)電能計(jì)量數(shù)據(jù)進(jìn)行修約處理,不僅能夠達(dá)到100%的正確率,還能夠減少人力消耗和時(shí)間消耗,極大程度的提高了數(shù)據(jù)處理效率。
由上可知,本申請(qǐng)上述裝置獲取待處理數(shù)據(jù),將待處理數(shù)據(jù)輸入至預(yù)設(shè)算法,得到待處理數(shù)據(jù)對(duì)應(yīng)的結(jié)果。上述方案通過(guò)預(yù)設(shè)算法對(duì)位數(shù)較多的待處理數(shù)據(jù)進(jìn)行修約處理,以低人員消耗和時(shí)間消耗得到了正確率100%的位數(shù)較少的數(shù)據(jù)。
可選的,根據(jù)本申請(qǐng)上述實(shí)施例,計(jì)算模塊包括:
獲取子模塊,用于獲取預(yù)設(shè)的修約間距;
第一計(jì)算子模塊,用于計(jì)算待處理數(shù)據(jù)與修約間距的商,作為第一結(jié)果數(shù)據(jù);
處理子模塊,用于對(duì)第一結(jié)果數(shù)據(jù)進(jìn)行預(yù)設(shè)處理,得到第二結(jié)果數(shù)據(jù);
第二計(jì)算子模塊,用于計(jì)算第二結(jié)果數(shù)據(jù)與修約間距的乘積,作為待處理數(shù)據(jù)對(duì)應(yīng)的結(jié)果。
可選的,根據(jù)本申請(qǐng)上述實(shí)施例,處理子模塊包括:
第一獲取單元,用于獲取預(yù)設(shè)的保留位數(shù);
第二獲取單元,用于根據(jù)第一結(jié)果數(shù)據(jù)獲取保留位數(shù)值;
操作單元,用于根據(jù)保留位數(shù)值和保留位之后的數(shù)值對(duì)保留位數(shù)值進(jìn)行加減操作。
可選的,根據(jù)本申請(qǐng)上述實(shí)施例,操作單元包括:
第一舍棄子單元,用于在保留位后一位的數(shù)值為第一數(shù)值集合中的任意一個(gè)數(shù)值的情況下,舍棄保留位后的數(shù)值,并保持保留位數(shù)值不變;
第二舍棄子單元,用于在保留位后一位的數(shù)值為第二數(shù)值集合中的任意一個(gè)數(shù)值的情況下,舍棄保留位后的數(shù)值,并將保留位數(shù)值加一;
第一保留子單元,用于在保留位后一位的數(shù)值為預(yù)設(shè)數(shù)值的情況下,如果保留位后一位之后仍存在非零數(shù)值,則舍棄保留位后的數(shù)值的情況下,并將保留位數(shù)值加一;
第二保留子單元,用于在保留位后一位的數(shù)值為第預(yù)設(shè)數(shù)值的情況下,如果保留位后一位之后不存在非零數(shù)值的情況下,則判斷保留位數(shù)值的奇偶性,如果保留位數(shù)值為奇數(shù),則舍棄保留位后的數(shù)值,并將保留位數(shù)值加一,如果保留位數(shù)值為偶數(shù),則舍棄保留位后的數(shù)值,并保持保留位數(shù)值不變。
可選的,根據(jù)本申請(qǐng)上述實(shí)施例,第二獲取單元包括:
第三保留子單元,用于對(duì)第一結(jié)果數(shù)據(jù)擴(kuò)大n被后的整數(shù)部分取以十為底的對(duì)數(shù),其中,n為以十為底,以保留位數(shù)為指數(shù)的數(shù)值;
第一確定子單元,用于在對(duì)數(shù)為零的情況下,確定整數(shù)部分為保留位數(shù)值;
第二確定子單元,用于在對(duì)數(shù)不為零的情況下,使用第一結(jié)果數(shù)據(jù)擴(kuò)大n被后的數(shù)值對(duì)m取余,確定取余結(jié)果為保留位數(shù)值,其中,m為以十為底數(shù),以對(duì)數(shù)為指數(shù)的數(shù)值。
可選的,根據(jù)本申請(qǐng)上述實(shí)施例,在保留位之后的數(shù)值大于預(yù)設(shè)數(shù)值的情況下,確認(rèn)保留位后一位的數(shù)值為第一數(shù)值集合中的任意一個(gè)數(shù)值,在在保留位之后的數(shù)值小于預(yù)設(shè)數(shù)值的情況下,確認(rèn)保留位后一位的數(shù)值為第二數(shù)值集合中的任意一個(gè)數(shù)值。
可選的,根據(jù)本申請(qǐng)上述實(shí)施例,預(yù)設(shè)算法通過(guò)Matlab程序生成。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
在本發(fā)明的上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒(méi)有詳述的部分,可以參見其他實(shí)施例的相關(guān)描述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過(guò)其它的方式實(shí)現(xiàn)。其中,以上所描述的裝置實(shí)施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可為個(gè)人計(jì)算機(jī)、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、移動(dòng)硬盤、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。