运行结果里y数组里的数值始终为0,没有变过,是什么原因呢
#include<math.h>int x={0,10,20,30,40,50,40,30,20,10,0};
int h={50,50,50,50,50,50,50,50,50,50,50};
int y={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
void main()
{
int M=11,N=11;
int n,m;
int w;
for(n=0;n<M+N-1;n++)
{ w=0;
for(m=0;m<M;m++)
{ if(((n-m)>=0)&&((n-m)<N))
w+=x*h;
}
y=w;
}
}
运行结果里y数组里的数值始终为0,没有变过,是什么原因呢? 首先,你需要考虑边界条件,即当n-m小于0或大于N时,应该如何处理。其次,你可能需要初始化w为1而不是0,因为在计算卷积时,通常的约定是第一个输入的长度为1。
页:
[1]