本發(fā)明涉及數(shù)據(jù)處理,尤其一種縮減數(shù)組的方法、裝置、設(shè)備及介質(zhì)。
背景技術(shù):
1、車輛典型行駛路譜是反映整車行駛速度-時間的曲線,是基于道路和用戶使用習(xí)慣的大數(shù)據(jù),擬合出來的具備代表性的測試工況。路譜可以反映車輛實際運行工況,建立車輛路譜對于車輛及道路分析有重大作用。
2、目前進(jìn)行速度曲線描繪時,涉及到的數(shù)據(jù)量比較大,后續(xù)計算費時。采用各種已知的插值方法,需要排序然后插值,失去了速度變化的特征性,新生成的速度曲線與原始曲線差異很大,不能代表原始數(shù)據(jù)。
3、如何縮減趨勢曲線中的數(shù)組,在最大程度保留原有數(shù)組的特征,從而減少后續(xù)計算時間時本領(lǐng)域技術(shù)人員亟需解決的技術(shù)問題。
技術(shù)實現(xiàn)思路
1、本發(fā)明提供了一種縮減數(shù)組的方法、裝置、設(shè)備及介質(zhì),能夠?qū)②厔萸€中的數(shù)組縮短到任意需要的長度,并且可以用少量的數(shù)據(jù)代表大量數(shù)據(jù),曲線基本完全擬合,可以減小后續(xù)計算時間。
2、第一方面,本發(fā)明實施例提供了一種縮減數(shù)組的方法,適用于縮減趨勢曲線中的數(shù)組,所述縮減數(shù)組的方法包括:
3、s110、將所述趨勢曲線按照斜率的變化分段,得到多個第一趨勢線段;
4、s120、比較第i段所述第一趨勢線段中因變量的變化量與預(yù)設(shè)變化量的大??;
5、s130、若第i段所述第一趨勢線段中的因變量的變化量小于或等于所述預(yù)設(shè)變化量,則將所述第一趨勢曲線段暫存;
6、s140、比較第i+1段所述第一趨勢線段中因變量的變化量與預(yù)設(shè)變化量的大小;
7、s150、若第i+1段所述第一趨勢線段中的因變量的變化量小于或等于所述預(yù)設(shè)變化量,則將這兩段所述第一趨勢線段中的數(shù)據(jù)合并;
8、s160、比較合并后的兩個所述第一趨勢線段中因變量的變化量與所述預(yù)設(shè)變化量的大?。?/p>
9、s170、若合并后的兩個所述第一趨勢線段中因變量的變化量大于所述預(yù)設(shè)變化量,則將合并后的兩個所述第一趨勢線段定義為第二趨勢線段,并清空暫存;
10、s180、循環(huán)執(zhí)行步驟s120~s170,直至所述第一趨勢線段均完成比較,其中i為正整數(shù);
11、s190、比較所述第二趨勢線段的第一長度與預(yù)設(shè)線段的第二長度的大?。?/p>
12、s1100、若所述第一長度小于或等于所述第二長度,則保留所述第二趨勢線段起點和終點的數(shù)據(jù),廢棄所述第二趨勢線段中起點和終點之間的數(shù)據(jù)。
13、可選的,在所述比較第i段所述第一趨勢線段中因變量的變化量與預(yù)設(shè)變化量的大小之后,還包括:
14、若第i段所述第一趨勢線段中因變量的變化量大于所述預(yù)設(shè)變化量,則將第i段所述第一趨勢線段定義為所述第二趨勢線段。
15、可選的,在所述比較第i+1段所述第一趨勢線段中因變量的變化量與預(yù)設(shè)變化量的大小之后,還包括:
16、若第i+1段所述第一趨勢線段中因變量的變化量大于所述預(yù)設(shè)變化量,則將第i段所述第一趨勢線段和第i+1段所述第一趨勢線段均定義為所述第二趨勢線段。
17、可選的,在所述比較合并后的兩個所述第一趨勢線段中因變量的變化量與所述預(yù)設(shè)變化量的大小之后,還包括:
18、若合并后的兩個所述第一趨勢線段中因變量的變化量小于或等于所述預(yù)設(shè)變化量,則將i+2替換為i+1,再次執(zhí)行步驟s140~s160,直至合并后的所述第一趨勢線段中因變量的變化量大于所述預(yù)設(shè)變化量。
19、可選的,在所述比較所述第二趨勢線段的第一長度與預(yù)設(shè)線段的第二長度的大小之后,還包括:
20、若所述第一長度大于所述第二長度,則判斷所述第一長度是否整除所述第二長度;
21、若所述第一長度整除所述第二長度,則保留從所述第二趨勢線段的起點開始,每隔所述第二長度對應(yīng)的點的數(shù)據(jù)。
22、可選的,在所述若所述第一長度大于所述第二長度,則判斷所述第一長度是否整除所述第二長度之后,還包括:
23、若所述第一長度不能整除所述第二長度,則保留從所述第二趨勢線段的起點開始,每隔第二長度對應(yīng)的點的數(shù)據(jù),以及所述第二趨勢線段的終點的數(shù)據(jù);或者保留從所述第二趨勢線段的終點開始,每隔所述第二長度對應(yīng)的點的數(shù)據(jù),以及所述第二趨勢線段的起點的數(shù)據(jù)。
24、可選的,所述第二長度為其中,m為所述趨勢曲線中原有橫坐標(biāo)數(shù)組的長度,k為預(yù)設(shè)縮減后所述趨勢曲線中橫坐標(biāo)數(shù)組的長度,表示向下取整。
25、第二方面,本發(fā)明實施例還提供了一種縮減數(shù)組的裝置,包括:
26、第一趨勢線段獲取模塊,用于將趨勢曲線按照斜率的變化分段,得到多個第一趨勢線段;
27、大小比較模塊,用于比較第i段所述第一趨勢線段中因變量的變化量與預(yù)設(shè)變化量的大??;
28、第一趨勢曲線暫存模塊,用于若所述大小比較模塊判定所述第i段所述第一趨勢線段中的因變量的變化量小于或等于所述預(yù)設(shè)變化量,則將所述第一趨勢曲線段暫存;
29、所述大小比較模塊還用于比較第i+1段所述第一趨勢線段中因變量的變化量與預(yù)設(shè)變化量的大??;
30、數(shù)據(jù)合并模塊,用于若所述大小比較模塊判定第i+1段所述第一趨勢線段中的因變量的變化量小于或等于所述預(yù)設(shè)變化量,則將這兩段所述第一趨勢線段中的數(shù)據(jù)合并;
31、所述大小比較模塊還用于比較合并后的兩個所述第一趨勢線段中因變量的變化量與所述預(yù)設(shè)變化量的大??;
32、線段定義模塊,用于若所述大小比較模塊判定合并后的兩個所述第一趨勢線段中因變量的變化量大于所述預(yù)設(shè)變化量,則將合并后的兩個所述第一趨勢線段定義為第二趨勢線段,并清空暫存;
33、所述大小比較模塊還用于比較所述第二趨勢線段的第一長度與預(yù)設(shè)線段的第二長度的大?。?/p>
34、數(shù)據(jù)保留模塊,用于若所述大小比較模塊判定所述第一長度小于或等于所述第二長度,則保留所述第二趨勢線段起點和終點的數(shù)據(jù),廢棄所述第二趨勢線段中起點和終點之間的數(shù)據(jù)。
35、第三方面,本發(fā)明實施例還提供了一種縮減數(shù)組的設(shè)備,所述縮減數(shù)組的設(shè)備包括:
36、至少一個處理器;以及
37、與所述至少一個處理器通信連接的存儲器;其中,
38、所述存儲器存儲有可被所述至少一個處理器執(zhí)行的計算機(jī)程序,所述計算機(jī)程序被所述至少一個處理器執(zhí)行,以使所述至少一個處理器能夠執(zhí)行如第一方面所述的縮減數(shù)組的方法。
39、第四方面,本發(fā)明實施例還提供了一種計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀存儲介質(zhì)存儲有計算機(jī)指令,所述計算機(jī)指令用于使處理器執(zhí)行時實現(xiàn)如第一方面所述的縮減數(shù)組的方法。
40、本發(fā)明實施例提供了一種縮減數(shù)組的方法、裝置、設(shè)備及介質(zhì),將趨勢曲線按照斜率的變化分段,得到多個第一趨勢線段;若第i段第一趨勢線段中的因變量的變化量小于或等于預(yù)設(shè)變化量,則將第一趨勢曲線段暫存;若第i+1段第一趨勢線段中的因變量的變化量小于或等于預(yù)設(shè)變化量,則將這兩段第一趨勢線段中的數(shù)據(jù)合并;若合并后的兩個第一趨勢線段中因變量的變化量大于預(yù)設(shè)變化量,則將合并后的兩個第一趨勢線段定義為第二趨勢線段,并清空暫存;若第一長度小于或等于第二長度,則保留第二趨勢線段起點和終點的數(shù)據(jù),廢棄第二趨勢線段中起點和終點之間的數(shù)據(jù)。本發(fā)明實施例將趨勢曲線按照斜率的變化分段,來分段縮減,可以實現(xiàn)趨勢變化的最大程度保留,對趨勢變化不明顯的部分進(jìn)行合并,能夠讓縮減的效果大幅提升,本發(fā)明實施例能夠?qū)②厔萸€中的數(shù)組縮短到任意需要的長度,并且可以用少量的數(shù)據(jù)代表大量數(shù)據(jù),曲線基本完全擬合,可以減小后續(xù)計算時間。
41、應(yīng)當(dāng)理解,本部分所描述的內(nèi)容并非旨在標(biāo)識本發(fā)明的實施例的關(guān)鍵或重要特征,也不用于限制本發(fā)明的范圍。本發(fā)明的其它特征將通過以下的說明書而變得容易理解。