xcorr 自相关 c++实现

来源:互联网 发布:c 并发编程实战 pdf 编辑:程序博客网 时间:2024/05/23 20:10

xcorr 函数在MATLAB里面很好用啊,c语言怎么实现呢?诸如此类的如卷积啊,就是有点绕

由于自相关具有对称性,直接计算前一半的数值就行了。

直接贴代码

void  xcorr_func(vector<int> &in , vector<int> &out){int lenth=in.size();for (int i=0;i<=lenth;i++){for (int j=0;j<=i;j++){out[i]+=in[j]*in[lenth-1-i+j];}}for (int i=lenth;i<(lenth<<1)-1;i++){out[i]=out[(lenth<<1)-2-i];}}

试一试

int main(){//自相关的数组int a[]={1,2,3,4,5,6,7,8,9};vector<int> in(a,a+9);vector<int> out(17);        xcorr_func(in,out);for (inti=0;i<=16;i++){std::cout<<out[i]<<std::endl;}}


 

MATLAB 结果


1 0