Checking the decimal numbers

I have a matrix A with one column (5000x1). I want to make an if statement, which would check ONLY the decimal numbers of each row and continue with an action, if it is true. Something like this:
for i=1:5000
if decimals of A(i)=.59333 then ...
end
Is there a simple way of controlling only the decimals? Sorry for this way of writing the code, but I didn't know how else to describe it. Thanks in advance!
Ingvar

1 个评论

Jan
Jan 2012-11-9
编辑:Jan 2012-11-9
Does "decimal" mean "fractional part"?

请先登录,再进行评论。

回答(1 个)

Evan
Evan 2012-11-9
编辑:Evan 2012-11-9
mod(A(i),1)
Should tell you whether or not each element is a decimal number. If it returns a nonzero answer, you have a decimal.
So your code would look something like this:
for i = 1:5000
if mod(A(i),1)
% Your operations here
end
end
The "modulus after division" function can also operate on vectors so, depending on what you need to do in the case of a decimal number, you could maybe even eliminate your looping altogether.

2 个评论

Ah, okay. It looks like this question addresses the potential issues resulting from floating-point numbers?

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Logical 的更多信息

产品

标签

提问:

2012-11-9

Community Treasure Hunt

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

Start Hunting!

Translated by