how to find non integer elemets in matrix?

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

 採用された回答

Star Strider
Star Strider 2018 年 9 月 13 日

3 投票

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 件のコメント

madhan ravi
madhan ravi 2018 年 9 月 13 日
+1
Star Strider
Star Strider 2018 年 9 月 13 日
@madhan —
Thank you!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Community Treasure Hunt

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

Start Hunting!

Translated by