Find out how long after division will be an integer?

Hello! Is it possible to know when the condition will be met, what has been divided and the result is an integer?
A=[1:100];
for i=1:30
Ax(i)=A(i)/2;
if Ax(i) not a fractional number
Ax(i)=Ax(i);
else
break
end
end

Réponses (2)

KSSV
KSSV le 28 Juil 2020

0 votes

if mod(x,1)==0 then x is an whole number/ integer.

2 commentaires

I don't quite understand the given function
A(2)/2=1 % correctly and write to the array
A(3)/2= 1.5 % wrong and move on to the next correct number
A(4)/2=2 % correctly and write to the array
KSSV
KSSV le 29 Juil 2020
Modifié(e) : KSSV le 29 Juil 2020
A=[1:100];
count = 0 ;
iwant = zeros([],1) ;
for i=1:30
Ax(i)=A(i)/2;
if ~mod(Ax(i),1) % Ax(i) not a fractional number
count = count+1 ;
iwant(count)=Ax(i);
end
end
iwant
You need not to use a loop.
idx = mod(Ax,1) ;
iwant = Ax(idx==0) ;

Cette question est clôturée.

Produits

Clôturé :

le 20 Août 2021

Community Treasure Hunt

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

Start Hunting!

Translated by