corr函数用法 求xcorr与corrcoef的区别?
求xcorr与corrcoef的区别?
以两个不同的信号(序列)为例,xcorr函数通过无反射的卷积来度量两个信号在不同位置的相似性。假设两个序列的长度分别为m和N,则得到长度为2×max(m,N)-1的序列。也就是说,当m和N不相等时,当执行xcorr时,短序列将首先被0扩展。corrcoef函数通过协方差矩阵度量两个信号在不同部分的相似性,计算公式为:C(1,2)/sqrt(C(1,1)*C(2,2)),其中C表示矩阵的协方差矩阵[F,g],假设F和g是列向量(两个序列的长度必须相同才能参与运算),那么我们得到(我们感兴趣的部分)它是一个数字。以默认的a=corrcoef(F,g)为例,输出a是一个二维矩阵(对角线元素总是1)。我们感兴趣的F和G的相关系数存储在a(1,2)=a(2,1)上,其值介于[-1,1]之间。1表示最大正相关(例如,x=[123],y=[579]),而-1表示最大负相关(例如,x=[123],y=[1272])。对于一般矩阵X,执行a=corrcoef(X)后,a中每个值的a行和B列反映了原始矩阵X中相应a列和B列的相似度(即相关系数)。
matlab中自相关函数xcorr?
自相关函数是用来描述随机信号X(T)值之间的相关度在任何两个不同的时间T1和T2。假设原函数为f(T),则自相关函数定义为R(U)=f(T)*f(-T),其中*表示卷积。
举个例子:
DT=。1
t=[0:DT:100
]x=cos(t)
][a,b]=xcorr(x,“unbiased”)
plot(b*DT,a)
上面的代码是计算自相关函数并绘制一个图,
MATLAB帮助xcorr解释C(m)=E[a(n,m)*conj(b(n))]=E[a(n)*conj(b(n-m))],为自相关函数调用xcorr函数时,有一个scaleopt参数
r=xcorr(s,scaleopt)
scaleopt has
“biasted”-按1/m缩放原始互相关。
]“unbiasted”-按1/(m-abs(legs))缩放原始相关。
“coeff”-规范化序列,使零滞后时的自相关
相同为1.0。
“none”-不缩放(这是默认值)。
注意下面的测试:[S=[1 2 3
]r=xcorr(S),另一个是自动校正。但是对于向量x,只有xcorr(x)和autocorr(x),结果是非常不同的。除了xcorr得到的序列是一个中心对称的偶函数序列外,数值也不对应。阅读帮助,然后自己做实验,最后找到原因。首先,自相关是从序列中减去平均值后的自相关,最后,它被归一化。因为自相关本身是一个偶数函数,xcorr本身计算互相关,所以xcorr的最终结果是2*n-1,而autocorr只取从中心点n开始的以下n个序列,所以如果我们以向量x为例,x的长度是n,那么我们用autocorr(x,n-1)得到n个长度的结果。使用xcorr需要以下步骤:e=平均值(x)x2=x-ec=xcorr(x2)d=C./C(n)f=d(n:2*n-1)。另外,为了方便起见,这里只使用默认的call方法。两个函数的具体参数变化还需要看帮助的详细说明
这是计算相关度的结果。对于一般矩阵X,在a=corrcoef(X)之后,a中每个值的a行和B列反映了原矩阵X中相应a列和B列的相似度(即相关系数),计算公式为:C(1,2)/sqrt(C(1,1)*C(2,2)),其中C是矩阵[F,g]的协方差矩阵。假设f和G是列向量(这两个序列的长度必须相同才能参与运算),结果(我们感兴趣的部分)是一个数字。以默认的a=corrcoef(F,g)为例,输出a是一个二维矩阵(对角线元素总是1)。我们感兴趣的F和G的相关系数存储在a(1,2)=a(2,1)中,其值介于[-1,1]之间。1表示最大正相关性,-1表示绝对值的最大负相关性,gt> a=[1,2,3]B=[5,3,7]r=corrcoef(a,B)r=1.0000 0.5000 0.5000 1.0000> a=[1 2]B=[5 3]r=corrcoef(a,B)r=1.0000-1.0000-1.0000 1.0000%%1,这并不意味着二维向量必然是相关的。根据图中R与协方差矩阵的关系,cov(a,B)ans=0.5000-1.0000-1.0000%%%a和B,则R(1,2)=C(1,2)/(sqrt(C(1,1)*C(2,2)))=-1,sqrt表示平方根。
corr函数用法 matlab计算自相关函数 matlab中corr函数怎么用
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。