MATLAB Answers

how to filter out decimals

2 views (last 30 days)
Osman Ballhysa
Osman Ballhysa on 4 May 2021
Edited: Jan on 5 May 2021
function s = Fnkt(n)
syms k x
s = symsum(k,k,0,n);
if s<=0
s = 0;
end
Can somebody help me figure out, how do i filter out decimals ?
Example:
Fnkt(2) , then i will get 1+2=3
for negative numbers i want to get 0 .
But how do i get rid of decimals, for example Fnkt (2.5) or neg. decimals (-2.5) to get also a zero ?

Accepted Answer

Jan
Jan on 4 May 2021
Edited: Jan on 5 May 2021
function s = Fnkt(n)
if n <= 0 || n ~= floor(n)
s = 0;
return;
end
syms k x
s = symsum(k,k,0,n);
end
Do you realy want to calculate this symbolically? What about:
function s = Fnkt(n)
if n <= 0 || n ~= floor(n)
s = 0;
else % sum(1:n) with Gauss' method:
s = n * (n + 1) / 2;
end
end
  2 Comments
Osman Ballhysa
Osman Ballhysa on 4 May 2021
yeah i was just messing around and trying, symsum was probabily not the smartest way to do it

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by