一种数列相位差比较差别的方法

文档序号:6516569阅读:450来源:国知局
一种数列相位差比较差别的方法
【专利摘要】本发明涉及一种数列相位差比较差别的方法,它由单位周期段游标的循环移动及计算,获得两个量化指标,通过对这两个量化指标的判定识别,最终获知两个数列之间的相位的差的方向是否与预计方向相同,并判别是否在预计的相位差范围(正向或者反向,相位偏差的单位周期数量范围为0到N)内,从而确认两个数列之间的相位关系是否符合预期相位差。人们根据此相位差的方向,以及是否在预计的相位差范围有判断,得出这两个数据是符合人们预计的关联关系。
【专利说明】一种数列相位差比较差别的方法
[0001]
【技术领域】
[0002]本发明涉及一种计算机软件,尤其是涉及一种通过计算机软件对判断两个数的相位差别的方法。
[0003]【背景技术】
[0004]所谓数列是指按一定次序排列的一列数称为数列(sequence of number)。数列中的每一个数都叫做这个数列的数据项,简称项。排在第一位的数称为这个数列的第I项(通常也叫做首项),排在第二位的数称为这个数列的第2项……排在第η位的数称为这个数列的第η项。
[0005]所谓单位周期是指数列中相邻的两个数据项之间的间隔,定位为一个单位周期。数列中的每个数据项,都属于对应的一个单位周期。
[0006]所谓相位是指数列中,相邻的两个单位周期对应的后一个数列项相对于前一个数列项的变化速度以及变化方向的标度。
[0007]所谓相位差是指在两个数列Α、Β之间,如果A的每个数列项对应的数据,都能够在数列B的前后若干个单位周期范围内,找到匹配的数列项,这个范围的方向及最小长度就是相位差。
[0008]在计算机软件领域,一些事物各种特性以及事物的活动往往会通过一组特定的数列进行记载,当需要判断两个事物之间是否有关联或者要进一步判断它们的关联度时,有时可以通过发掘其对应记载的两组数列之间的相位差进行判断,包括相位差的大小以及方向,但是现有技术中,判断两组数列的相位差的方法及为复杂。
[0009]

【发明内容】

[0010]本发明主要是解决现有技术所存在通过计算机判断两个数列的相位差(包括相位差的方向和大小)极为复杂的技术问题,提供一种能够快速的发掘两个数列的相位差,从而达到判断两个事物之间是否有关联或者要进一步判断它们的关联度的数列相位差比较差别的方法。
[0011]本发明的上述技术问题主要是通过下述技术方案得以解决的:一种数列相位差比较差别的方法,其特征在于它包括如下步骤:
Α.将待对比的两个数列输入存储模块;
B.设置两个数列变量模块SeqX,SeqY,数列变量模块SeqX,SeqY分别设有若干个数据位,并获取预计的相位差方向D, True表示正向,False表示反向,大小N ;
C.如果D为正向,将数列A、B分别拷贝给SeqX、SeqY;如果D为反向,将数列B、A分别拷贝给 SeqX、SeqY;
D.获取指定的周期范围对应的单位周期序号,最小序号为Min,最大序号为Max,定义一个考察数列段长度SegLen,该长度应该不小于N,应该不大于整个周期范围的长度的一半; E.初始化定义如下3个单位周期段游标模块,并初始化单位周期范围,单位周期段游标模块包含两个成员变量(Stt, End), Stt表示当前周期段在相应数列中的起始位,End表示当前周期段在相应数列中的结束位;
i定义一个单位周期段游标模块SegCur,初始化SegCur对应的起始位为Min+Ν+Ι,结束位为 Min+N+SegLen ;
?定义一个单位周期段游标模块HdrCur,初始化HdrCur对应的起始位为Min+Ι,结束位为Min+N ;
iii定义一个单位周期段游标模块TlrCur,初始化TlrCur对应的起始位为Min+1+SegLen,结束位为 Min+N+SegLen ;
F.定义两个统计变量:Miss,ErrAcc,均初始化为O;
G.通过单位周期段模块从头至尾对数列进行遍历,在每次循环中统计上述单位周期段的相应指标,并根据判断条件计算统计变量,过程如下:
i统计SegCur在SeqX中覆盖住的数据项的总和,得到SumSegX ; ii统计HdrCur在SeqX中覆盖住的数据项的总和,得到SumHdrX ; iii统计TlrCur在SeqX中覆盖住的数据项的总和,得到SumTlrX ; iv统计SegCur在SeqY中覆盖住的数据项的总和,得到SumSegY ;
V如果 SumSegY ^ SumSegX+SumHdrX,并且 SumSegY ^ SegSegY-SumTlrX,保持 Miss和ErrAcc不变。否则:Miss数值加一,即Miss = Miss + I ;
vi如果 SumSegY ^ SumSegX+SumHdrX 不成立,在变量 ErrAcc 上累加 SumSegY 与SumSegX+SumHdrX 的差值,即 ErrAcc = ErrAcc + SumSegY - SumSegX - SumHdrX ;
vii如果 SumSegY ^ SegSegY-SumTlrX 不成立,在变量 ErrAcc 上累加 SumSegY 与SegSegY-SumTlrX 的差额的绝对值,即 ErrAcc = ErrAcc + SegSegY - SumTlrX - SumSegY ;
H.如果SegCur的结束单位周期序号与Max重合,结束循环,进入下一步;否则同时移动上述单位周期段,每次循环将三个周期正向移动一个单位周期,即将单位周期段游标的两个成员变量Stt、End进行递增,继续遍历;
1.循环结束后,如果Miss与ErrAcc依然为O,最终判定的结果为真,表示两个数列之间的相位差的方向与预计方向相同,并在预计的相位差范围内;否则,最终判定的结果为假,表示两个数列之间的相位的差,没有落在预定的相位差范围内。
[0012]本发明由单位周期段游标的循环移动及计算,获得两个量化指标,通过对这两个量化指标的判定识别,最终获知两个数列之间的相位的差的方向是否与预计方向相同,并判别是否在预计的相位差范围(正向或者反向,相位偏差的单位周期数量范围为O到N)内,从而确认两个数列之间的相位关系是否符合预期相位差。人们根据此相位差的方向,以及是否在预计的相位差范围有判断,得出这两个数据是符合人们预计的关联关系。
[0013]本发明的带来的有益效果是,解决了现有技术所存在通过计算机判断两个数列的相位差极为复杂的技术问题,实现了一种能够快速的发掘两个数列的相位差,从而达到判断两个事物之间是否有关联或者要进一步判断它们的关联度的数列相位差比较差别的方法。
[0014]
【专利附图】

【附图说明】
[0015]附图1是本发明的实施例的单位周期段数列对应数据位序号示意图;
附图2是本发明的工作原理图。
[0016]
【具体实施方式】
[0017]下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
[0018]实施例:
如图2所示,本发明是一种数列相位差比较差别的方法,其特征在于它包括如下步骤:
A.将待对比的两个数列输入存储模块;
B.设置两个数列变量模块SeqX,SeqY,数列变量模块SeqX,SeqY分别设有若干个数据位,并获取预计的相位差方向D, True表示正向,False表示反向,大小N ;
C.如果D为正向,将数列A、B分别拷贝给SeqX、SeqY;如果D为反向,将数列B、A分别拷贝给 SeqX、SeqY;
D.获取指定的周期范围对应的单位周期序号,最小序号为Min,最大序号为Max,定义一个考察数列段长度SegLen,该长度应该不小于N,应该不大于整个周期范围的长度的一半;
E.初始化定义如下3个单位周期段游标模块,并初始化单位周期范围,单位周期段游标模块包含两个成员变量(Stt, End), Stt表示当前周期段在相应数列中的起始位,End表示当前周期段在相应数列中的结束位;
i定义一个单位周期段游标模块SegCur,初始化SegCur对应的起始位为Min+Ν+Ι,结束位为 Min+N+SegLen ;
?定义一个单位周期段游标模块HdrCur,初始化HdrCur对应的起始位为Min+Ι,结束位为Min+N ;
iii定义一个单位周期段游标模块TlrCur,初始化TlrCur对应的起始位为Min+1+SegLen,结束位为 Min+N+SegLen ;
F.定义两个统计变量:Miss,ErrAcc,均初始化为O;
G.通过单位周期段模块从头至尾对数列进行遍历,在每次循环中统计上述单位周期段的相应指标,并根据判断条件计算统计变量,过程如下:
i统计SegCur在SeqX中覆盖住的数据项的总和,得到SumSegX ; ii统计HdrCur在SeqX中覆盖住的数据项的总和,得到SumHdrX ; iii统计TlrCur在SeqX中覆盖住的数据项的总和,得到SumTlrX ; iv统计SegCur在SeqY中覆盖住的数据项的总和,得到SumSegY ;
V如果 SumSegY ^ SumSegX+SumHdrX,并且 SumSegY ^ SegSegY-SumTlrX,保持 Miss和ErrAcc不变。否则:Miss数值加一,即Miss = Miss + I ;vi如果 SumSegY ^ SumSegX+SumHdrX 不成立,在变量 ErrAcc 上累加 SumSegY 与SumSegX+SumHdrX 的差值,即 ErrAcc = ErrAcc + SumSegY - SumSegX - SumHdrX ;
vii如果 SumSegY ^ SegSegY-SumTlrX 不成立,在变量 ErrAcc 上累加 SumSegY 与SegSegY-SumTlrX 的差额的绝对值,即 ErrAcc = ErrAcc + SegSegY - SumTlrX - SumSegY ;
H.如果SegCur的结束单位周期序号与Max重合,结束循环,进入下一步;否则同时移动上述单位周期段,每次循环将三个周期正向移动一个单位周期,即将单位周期段游标的两个成员变量Stt、End进行递增,继续遍历;
1.循环结束后,如果Miss与ErrAcc依然为O,最终判定的结果为真,表示两个数列之间的相位差的方向与预计方向相同,并在预计的相位差范围内;否则,最终判定的结果为假,表示两个数列之间的相位的差,没有落在预定的相位差范围内。
[0019]如图1所示,两个数列变量模块SeqX, SeqY分别包括I到20的数据位,Min=I, Max=20, N=4, SegLen=IO,那么,初始化后,HdrCur指向第2-5数据位,SegCur指向第6-15数据位,TlrCur指向第12-15数据位,以此为基础进行历遍。
[0020]最终,本发明实现了通过发掘两个数列的相位差大小、方向的特性,从而达到判断两个事物之间是否有关联,并进一步判 断它们的关联度的数列相位差比较差别的方法。
【权利要求】
1.一种数列相位差比较差别的方法,其特征在于它包括如下步骤: A.将待对比的两个数列输入存储模块; B.设置两个数列变量模块SeqX,SeqY,数列变量模块SeqX,SeqY分别设有若干个数据位,并获取预计的相位差方向D, True表示正向,False表示反向,大小N ; C.如果D为正向,将数列A、B分别拷贝给SeqX、SeqY;如果D为反向,将数列B、A分别拷贝给 SeqX、SeqY; D.获取指定的周期范围对应的单位周期序号,最小序号为Min,最大序号为Max,定义一个考察数列段长度SegLen,该长度应该不小于N,应该不大于整个周期范围的长度的一半; E.初始化定义如下3个单位周期段游标模块,并初始化单位周期范围,单位周期段游标模块包含两个成员变量(Stt, End), Stt表示当前周期段在相应数列中的起始位,End表示当前周期段在相应数列中的结束位; i定义一个单位周期段游标模块SegCur,初始化SegCur对应的起始位为Min+Ν+Ι,结束位为 Min+N+SegLen ; ?定义一个单位周期段游标模块HdrCur,初始化HdrCur对应的起始位为Min+Ι,结束位为Min+N ; iii定义一个单位周期段游标模块TlrCur,初始化TlrCur对应的起始位为Min+1+SegLen,结束位为 Min+N+SegLen ; F.定义两个统计变量:Miss,ErrAcc,均初始化为O; G.通过单位周期段模块从头至尾对数列进行遍历,在每次循环中统计上述单位周期段的相应指标,并根据判断条件计算统计变量,过程如下: i统计SegCur在SeqX中覆盖住的数据项的总和,得到SumSegX ; ?统计HdrCur在SeqX中覆盖住的数据项的总和,得到SumHdrX ; iii统计TlrCur在SeqX中覆盖住的数据项的总和,得到SumTlrX ; iv统计SegCur在SeqY中覆盖住的数据项的总和,得到SumSegY ;
V如果 SumSegY ^ SumSegX+SumHdrX,并且 SumSegY ^ SegSegY-SumTlrX,保持 Miss和ErrAcc不变。
2.否则:Miss数值加一,即 Miss = Miss + I ; vi如果 SumSegY ^ SumSegX+SumHdrX 不成立,在变量 ErrAcc 上累加 SumSegY 与SumSegX+SumHdrX 的差值,即 ErrAcc = ErrAcc + SumSegY - SumSegX - SumHdrX ; vii如果 SumSegY ^ SegSegY-SumTlrX 不成立,在变量 ErrAcc 上累加 SumSegY 与SegSegY-SumTlrX 的差额的绝对值,即 ErrAcc = ErrAcc + SegSegY - SumTlrX - SumSegY ; H.如果SegCur的结束单位周期序号与Max重合,结束循环,进入下一步;否则同时移动上述单位周期段,每次循环将三个周期正向移动一个单位周期,即将单位周期段游标的两个成员变量Stt、End进行递增,继续遍历; I.循环结束后,如果Miss与ErrAcc依然为O,最终判定的结果为真,表示两个数列之间的相位差的方向与预计方向相同,并在预计的相位差范围内;否则,最终判定的结果为假,表示两个数列之间的相位的差,没有落在预定的相位差范围内。
【文档编号】G06F9/44GK103544012SQ201310508784
【公开日】2014年1月29日 申请日期:2013年10月24日 优先权日:2013年10月24日
【发明者】王锦龙, 范渊, 杨永清 申请人:杭州安恒信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1