Вы пытаетесь вычислить s
, используя значения из s
.Разве вы не имеете в виду s(n)=A(n-2)+A(n-1)+A(n);
?Кроме того, size
возвращает более одного измерения самостоятельно.
При этом получение 2 приватных значений n-2
и n-1
делает работу для n = 1; 2 (потому что у вас должны быть положительные индексы).Вы должны объяснить, как должны обрабатываться первые два значения.Я предполагаю, что либо 0 для элементов, которые еще не существуют
k=size(A,2); %only the second dimension when A 1xn, or length(A)
s=zeros(1,k); %get empty values instead of appending each value for better performance
s(1)=A(1);
s(2)=A(2)+A(1);
for n=3:k %start at 3
s(n)=A(n-2)+A(n-1)+A(n);
end
, либо s
должно быть на 2 значения короче, чем A
.
k=size(A,2);
s=zeros(1,k-2);
for n=1:k-2
s(n)=A(n)+A(n+1)+A(n+2);
end