MATLAB Answers

Sum of even numbers

9 views (last 30 days)
Osman Ballhysa
Osman Ballhysa on 19 May 2021
Edited: Alan Stevens on 19 May 2021
this is what i was trying
function s = test(n)
if n <= 0 %for n<= 0 the result would be 0
s = 0;
elseif % if n is a decimal (positiv or neg. ) the result would be Nan
n ~= floor(n)
s=Nan; %not a number
else
sum(2:2:n) % Example( test(4) = 2+4=6, or test(6)=2+4+6=12)
end
it does not work, has anybody a suggestion ?

Answers (2)

Alan Stevens
Alan Stevens on 19 May 2021
Edited: Alan Stevens on 19 May 2021
Like so
s = test(6);
disp(s)
12
function s = test(n)
if n <= 0 %for n<= 0 the result would be 0
s = 0;
elseif n ~= floor(n) % if n is a decimal (positiv or neg. ) the result would be Nan
s=NaN; %not a number
else
s = sum(2:2:n); % Example( test(4) = 2+4=6, or test(6)=2+4+6=12)
end
end

Kartikay Sapra
Kartikay Sapra on 19 May 2021
function s = even_sum(n)
if n <= 0
s = 0
else if n~=floor(n)
s = NaN
else
s = sum(2:2:n)
end
end
Few suggestions:
  1. Nan is undefined, one should use NaN: Not a Number
  2. function name 'test' might clash with an inbuit function.
  3. In else condition, assign sum(2:2:n) to s

Community Treasure Hunt

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

Start Hunting!