我想知道模式参数是什么信号相关(或数字关联)卑鄙?在
def crossCorrelator(sig1, sig2):
correlate = signal.correlate(sig1,sig2,mode='same')
return(correlate)
flux0 = [ 0.02006948 0.01358697 -0.06196026 -0.03842506 -0.09023056 -0.05464169 -0.02530553 -0.01937054 -0.01237411 0.03472263 0.17865012 0.27441767 0.23532932 0.16358341 0.08743969 0.12166425 0.10287468 0.13430794 0.08262321 0.0515434 0.04657624 0.09017276 0.09131331 0.04696824 -0.03901519 -0.01413654 0.05448175 0.1236946 0.09968044 -0.001584 -0.06094561 -0.02998289 -0.00113092 0.04336605 0.01105071 0.0527657 0.03825847 0.02309524]
flux1 = [-0.02946104 -0.02590192 -0.02274955 0.00485888 -0.0149776 0.01757462 0.02820086 0.0379213 0.03580811 0.06507382 0.09995243 0.12814133 0.16109725 0.12371425 0.08273643 0.09433014 0.05137761 0.04057405 -0.08171598 -0.06541216 0.00126869 0.09223577 0.06811737 0.0795967 0.08689563 0.0928949 0.09971169 0.05413958 0.05410236 0.00120439 0.02454734 0.06450544 0.01508899 -0.06100537 -0.10038889 -0.00651572 0.01095773 0.05517478]
correlation = crossCorrelator(flux0,flux1)
f, axarr = plt.subplots(2)
axarr[0].plot(np.arange(len(flux0)),flux0)
axarr[0].plot(np.arange(len(flux1)),flux1)
axarr[1].plot(np.arange(len(correlation)),correlation)
plt.show()
当我使用'same'模式时,相关数组的维数与full的通量相同,它有double?如果len(flux0/1)是维时间,len(相关)是什么维?在
我真的更想找一个数学解释,到目前为止我发现的答案更多的是技术性的。。。在
给定长度分别为a和b的两个序列(a[0],…,a[a-1])和(b[0],…,b[b-1]),卷积计算如下:
c[n]=总和a[m]*b[n-m]
如果
mode=="full"
,则计算从0到A+B-2的n的卷积,因此返回数组有A+B-1元素。在如果
mode=="same"
,那么scipy.signal.correlate
计算从(B-1)/2到A-1+(B-1)/2的n的卷积,其中假设是整数除法。返回数组有一个元素。numpy.correlate
只有当A>;=B时,才会以相同的方式工作;如果A小于B,则会切换两个数组(返回的数组有B个元素)。在如果
mode=="valid"
,则计算从min(A,B)-1到max(A,B)-1的n的卷积,因此有max(A,B)-min(A,B)+1个元素。在相关问题 更多 >
编程相关推荐