线性卷积的c语言的代码
线性卷积的c语言的代码
#include
#include
int max(int x,int y)
{int z;
if(x>y)z=x;
else z=y;
return(z);
}
int min(int x,int y)
{int z;
if(x else z=y; return(z); } int conv(int *u,int *v, int m, int n) { int k = m+n-1; int i, j; int w[10]={0}; for(i=0; i { for(j=max(0,i+1-n); j<=min(i,m-1); j++) { w[i] += u[j]*v[i-j]; } printf("w[%d]=%d\n\n",i,w[i]); } return 0; } int main() { int i=0; int u[4]={1,1,1,1}; int v[4]={1,1,1,1}; int m=sizeof(u)/sizeof(*u); int n=sizeof(v)/sizeof(*v); conv(u,v,m,n); return 0; } 注释:序列u 与v 的卷积,m与n分别为其长度
相关主题