打印
[MM32软件]

运行结果里y数组里的数值始终为0,没有变过,是什么原因呢

[复制链接]
1230|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
_gege|  楼主 | 2023-10-21 09:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<math.h>

int x[11]={0,10,20,30,40,50,40,30,20,10,0};

int h[11]={50,50,50,50,50,50,50,50,50,50,50};

int y[22]={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[m]*h[n-m];

}

y[n]=w;

}

}

运行结果里y数组里的数值始终为0,没有变过,是什么原因呢?

使用特权

评论回复
沙发
laocuo1142| | 2023-11-16 15:21 | 只看该作者
首先,你需要考虑边界条件,即当n-m小于0或大于N时,应该如何处理。其次,你可能需要初始化w为1而不是0,因为在计算卷积时,通常的约定是第一个输入的长度为1。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

1357

帖子

1

粉丝