Is there something wrong with this function?

It is supposed to figure out if the number is whole or not. if not it rounds down, if it is it squares.
function [remainder]=data_modifier(data1)
remainder=rem(data1,1)
if remainder==0
sqrt(data1)
else
floor(data1)
end
end

2 Comments

Kevin Chng
Kevin Chng on 23 Oct 2018
Edited: Kevin Chng on 23 Oct 2018
No error. Why?
However, change your output of function, i guess remainder is not the output you wanted.
No it’s not correct if the input is float ,it fails

Sign in to comment.

 Accepted Answer

madhan ravi
madhan ravi on 23 Oct 2018
Edited: madhan ravi on 23 Oct 2018
function [result]=data_modifier(data1)
if isfloat(data1)==1
sqrt(data1)
else
floor(data1)
end
end

5 Comments

The above shows if the number is a decimal it takes square root if not it rounds
okay thank you! that is a smart way to do it.
Anytime, accept the answer so that people know problem is solved
Hi jonathan,
change your function output to
function ans = data_modifier(data1)
never name an output as ans because it will contradict with the mat labs inbuilt variable named as ans

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!