how to find non integer elemets in matrix?

9 vues (au cours des 30 derniers jours)
Lidor Levi
Lidor Levi le 13 Sep 2018
Commenté : Star Strider le 13 Sep 2018
hello
I have a matrix and I would like to check each element if its a whole number (integer) and if its not an integer I would like to copy those elmenets into diffrent 1 row matrix
with out using loops
thank you

Réponse acceptée

Star Strider
Star Strider le 13 Sep 2018
Try this:
A = randi(9, 4); % Integer Array
idx = randperm(16,5);
A(idx) = A(idx)+rand(1,5) % Some Non-Integer Elements
NotInteger = A(rem(A,1) ~= 0)
producing:
A =
6.0000 3.0000 2.1174 9.0000
2.0000 8.0000 3.5079 4.0000
3.0000 2.0000 4.3188 2.2967
5.0000 3.4242 3.0000 9.0000
NotInteger =
3.4242
2.1174
3.5079
4.3188
2.2967
It works because the rem (or mod) of any number with the denominator of 1 produces the fractional part of the argument. If that is zero, the element is an integer.
  2 commentaires
madhan ravi
madhan ravi le 13 Sep 2018
+1
Star Strider
Star Strider le 13 Sep 2018
@madhan —
Thank you!

Connectez-vous pour commenter.

Plus de réponses (0)

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!

Translated by