function that checks multiple numbers

%Greetings, Id like to write a function that will check multiple numbers in a %matrix insted of a single number. For example I have this function
function [output] = my_func(input)
output=[]
if mod(sqrt(input),1)==0
output=sqrt(input)
else
output=floor(input/3)
end
%but Id like to make it check multiple numbers instead of one?

답변 (1개)

KSSV
KSSV 2019년 3월 15일

0 개 추천

function [output] = my_func(input)
output = zeros(size(input)) ;
c = mod(sqrt(input,1)) ;
idx = c==0 ;
output(idx) = sqrt(input(idx)) ;
output(~idx) = floor(input(~idx)/3) ;
You need to re think on this line:
mod(sqrt(input),1)==0

댓글 수: 3

madhan ravi
madhan ravi 2019년 3월 15일
편집: madhan ravi 2019년 3월 15일
idx = c==0 ; % is completely redundant, there is no need for "==" equality
Reynaldo Ponce
Reynaldo Ponce 2019년 3월 15일
sounds good sir. So i'd like to check a whole matrix or two numbers or five numbers like this...
my_func(1,2,81)
KSSV
KSSV 2019년 3월 15일
make input a matrix.

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Logical에 대해 자세히 알아보기

질문:

2019년 3월 15일

댓글:

2019년 3월 15일

Community Treasure Hunt

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

Start Hunting!

Translated by