help-octave
[Top][All Lists]
Advanced

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

Re: Problem with find() and vector assignment using ranges: vector=start


From: Ozzy Lash
Subject: Re: Problem with find() and vector assignment using ranges: vector=start:step:stop
Date: Fri, 28 Jul 2017 20:40:28 -0500



On Fri, Jul 28, 2017 at 12:47 PM, pete.F <address@hidden> wrote:
Hi,
I'm running octave V4.2.0 on windows and I'm having trouble with the
following commands:
>>L=1E-6:0.1E-6:500E-6;
>>find(L==33E-6)
ans= [] (1x0)

33E-6 is located within vector 'L' at index=321. But if I subtract 33E-6
from L(321) I get:

>>L(321)-33E-6
ans=-6.7763E-21

It appears that the scalar 33E-6 and the scalar L(321) don't have the same
precision...
I have verified the same functionality on V3.8.2 on windows.
Is this functionality intended?
Is there a better way to check for equality and locate an index?
Thanks in advance.


You might want to take a look at this discussion at MATLAB central

https://www.mathworks.com/matlabcentral/newsreader/view_thread/66553?requestedDomain=www.mathworks.com

Using one of the suggestions there, you could write your find experession as:

>> find(abs(L-33e-6)<=eps(33e-6))
ans =  321

Bill

reply via email to

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