How to test for integers and delete integers that do not perform to the test
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Krish Desai
le 27 Sep 2015
Modifié(e) : Stephen23
le 27 Sep 2015
My assignment: Write a function sumDiv5 which receives one input argument and returns how many elements of the input variable are divisible by 5. You are not allowed to use FOR loops (we will study them next week)
My thinking is to divide the whole input by 5. Then to delete all the non-integer numbers (those not divisible by 5). How do I delete only the non-integer numbers instead of the whole matrix? (which is what my code does)
function output= sumDiv5 (input)
A=input/5;
if isreal(A) && rem(A,1)==0
else
A=[];
end
output=A;
0 commentaires
Réponse acceptée
Image Analyst
le 27 Sep 2015
Close. Study this snippet and see what you can learn:
data = randi(100, 1, 30)
divBy5 = rem(data, 5)
By the way, don't use "input" as a variable name because it's the name of a built-in function.
4 commentaires
Stephen23
le 27 Sep 2015
Modifié(e) : Stephen23
le 27 Sep 2015
Try this:
function out = sumDiv5(mat)
out = sum(0==rem(mat(:),5));
end
And tested:
>> sumDiv5([0 1 2 3 4; 2 5 8 13 15])
ans = 3
Note that I also formatted the code in your question properly: in future please do this yourself by selecting the code text and clicking the {} Code button that you will find above the textbox.
Plus de réponses (1)
James Tursa
le 27 Sep 2015
Hint: Take a look at the result of rem(A,1)==0. What do you get if you sum this up?
0 commentaires
Voir également
Catégories
En savoir plus sur Logical 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!