Summing the even index elements of a 1D array
9 views (last 30 days)
Show older comments
Camden Nelson
on 6 May 2023
Commented: Camden Nelson
on 6 May 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 Comments
Accepted Answer
Atsushi Ueno
on 6 May 2023
Edited: Atsushi Ueno
on 6 May 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 Comments
Atsushi Ueno
on 6 May 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)
More Answers (0)
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!