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?

Réponses (1)

KSSV
KSSV le 15 Mar 2019
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 commentaires

madhan ravi
madhan ravi le 15 Mar 2019
Modifié(e) : madhan ravi le 15 Mar 2019
idx = c==0 ; % is completely redundant, there is no need for "==" equality
Reynaldo Ponce
Reynaldo Ponce le 15 Mar 2019
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 le 15 Mar 2019
make input a matrix.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Startup and Shutdown dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by