Summing the even index elements of a 1D array
9 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Camden Nelson
el 6 de Mayo de 2023
Comentada: Camden Nelson
el 6 de Mayo de 2023
I am trying to write a recursive function that sums the elements in even indexed position of a 1D array, but am not sure how to do this. I have some of the code started below, but it is obvously incorrect:
function [out] = mySumEven(A)
n = length(A);
if n == 1
out = 'No numbers in even positions';
elseif n == 2
out = A(2);
else
out = A(2) + mySumEven(A(4:n));
end
end
0 comentarios
Respuesta aceptada
Atsushi Ueno
el 6 de Mayo de 2023
Editada: Atsushi Ueno
el 6 de Mayo de 2023
mySumEven([1 2 3 4 5 6 7 8 9])
function [out] = mySumEven(A)
n = length(A);
if n == 1
disp('No numbers in even positions'); % out = 'No numbers in even positions';
out = 0; % added
elseif n == 2
out = A(2);
else
out = A(2) + mySumEven(A(3:n)); % out = A(2) + mySumEven(A(4:n));
end
end
2 comentarios
Atsushi Ueno
el 6 de Mayo de 2023
MATLAB can add numerical values and character vectors. The output is as numeric vector. It means every charactor code have been added by 1.
1 + [1 2 3 4]
1 + 'No numbers in even positions'
char(ans)
Más respuestas (0)
Ver también
Categorías
Más información sobre Matrix Indexing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!