嘿,我一直难以编写该conv(x,y)
函数的 matlab 等效项。我无法弄清楚为什么这会给出不正确的输出。对于数组
x1 = [1 2 1]
和x2 = [3 1 1]
.
这就是我所拥有的
x1 = [1 2 1];
x2 = [3 1 1];
x1len = leng(x1);
x2len = leng(x2);
len = x1len + x2len - 1;
x1 = zeros(1,len);
x2 = zeros(1,len);
buffer = zeros(1,len);
answer = zeros(1,len);
for n = 1:len
buffer(n) = x(n);
answer(n) = 0;
for i = 1:len
answer(n) = answer(n) + x(i) * buffer(i);
end
end
matlab conv(x1,x2)
给出3 7 6 3 1
了输出,但这给了我3 5 6 6 6
答案。我哪里出错了?
另外,对于我在歌剧迷你上的格式感到抱歉。