help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: for loop on decimal numbers fails.


From: Mike Miller
Subject: Re: for loop on decimal numbers fails.
Date: Wed, 20 Jul 2016 09:32:33 -0700
User-agent: Mutt/1.6.0 (2016-04-01)

On Tue, Jul 19, 2016 at 14:34:33 -0700, Swiss_Knight wrote:
> Hi, 
> thanks for the fast reply, and yes, it was a typo, sorry.
> 
> Nice trick, it helps, but I still have a strange error :
> 
> A=[sort(repmat ([1:1:10]',[4,1])), repmat([5:5:20]',[10;1]), rand(40,1)];
> A(:,1)=A(:,1)/10;
> A(:,2)=A(:,2)/10;
> 
> I=0.1:0.1:1; 
> J=0.5:0.5:2; 
> 
> for i_index=1:length(I);
>   i=I(i_index);
>   for j_index=1:length(J); 
>     j=J(j_index);
>     A((find((A(:,1)==i))))
>   endfor;
> endfor;
> 
> It fails for i=0.3 and i=0.7. (seems like a numerical computing issue ?!)

Yes. Octave does not compute numbers in arbitrary precision, and the
numbers [1:4, 6:9]./10 are not exactly representable. This is one of our
frequently asked questions on this list:

http://wiki.octave.org/FAQ#Why_is_this_floating_point_computation_wrong.3F

-- 
mike



reply via email to

[Prev in Thread] Current Thread [Next in Thread]