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
Best Answer
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 therem (ormod) of any number with the denominator of1 produces the fractional part of the argument. If that is zero, the element is an integer.
Best Answer