issue in find variable

2 Comments

Please explain to me why it gives me an empty matrix? Out of 100 only following 25 thresholds are also gives empty matrix
0.0600, 0.0700, 0.1000, 0.1500, 0.1800, 0.2100, 0.2400, 0.2900, 0.3500, 0.3600, 0.4100, 0.4200, 0.4700, 0.4800, 0.5700, 0.5800, 0.6900, 0.7000, 0.7100, 0.8200, 0.8300, 0.8400, 0.9400, 0.9500, 0.9600

Answers (1)

Fangjun Jiang
Fangjun Jiang on 22 Jul 2020
Edited: Fangjun Jiang on 22 Jul 2020
floating point data precision issue. Below is an example, a and b are not equal even though all the visible digits are the same.
>> format long
>> a=1-1/3
a =
0.666666666666667
>> b=2/3
b =
0.666666666666667
>> a==b
ans =
logical
0
>> abs(a-b)<=eps
ans =
logical
1

3 Comments

Actually, I have a column matrix that contains different numbers between 0.001 to 1. For example, the 0.0600 value is repeated 7 times in the matrix. I would like to find out these numbers along with their indexes. I am trying to use for loop to find out where is exact number occurring. As I am facing above issue, anyone can suggest be how to extract the desire value from the matrix?
find(abs(YouData-0.06)<=eps)
Its work, Thanks all of you

This question is closed.

Asked:

on 22 Jul 2020

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!