Sum of even numbers

48 vues (au cours des 30 derniers jours)
Osman Ballhysa
Osman Ballhysa le 19 Mai 2021
Modifié(e) : Alan Stevens le 19 Mai 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 ?

Réponses (2)

Alan Stevens
Alan Stevens le 19 Mai 2021
Modifié(e) : Alan Stevens le 19 Mai 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 le 19 Mai 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

Catégories

En savoir plus sur Test Execution dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by