Why am I getting "Array indices must be positive integers or logical values" error?

Array indices must be positive integers or logical values.
Error in A2Q1>LinearConv (line 68)
yc(i) = yc(i) + x1(i-j+1).*x2(j);
function yfnc = LinearConv(x1, x2, len)
yc = zeros(1, len);
for i = 1:len
%Total terms will be 1 to len
for j = 1:(i+1)
if(i-j+1<length(x1) && j<length(x2))
yc(i) = yc(i) + x1(i-j+1).*x2(j);
%Equation
end
end
end
yfnc = yc;
end

 채택된 답변

Stephen23
Stephen23 2021년 1월 22일
편집: Stephen23 2021년 1월 22일
Consider this indexing:
x1(i-j+1)
What value does it have on the last iteration of the j loop? (hint: zero).
i-j+1 % that index
j = i+1 % last iteration
i-(i+1)+1 % substitute j
i-i-1+1 % zero

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Data Types에 대해 자세히 알아보기

질문:

2021년 1월 22일

댓글:

2021년 1월 22일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by