こんにちは、関数に相当する matlab を書くのに苦労していconv(x,y)
ます。これが間違った出力を与える理由がわかりません。配列
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
に答えを与えています。どこで間違ったのですか?
また、私は Opera mini で書式設定を行って申し訳ありません。