# Matlab is not recognizing that two floats are equal although Workspace shows they are

5 views (last 30 days)

Show older comments

```

% calculate_line_lengths

line_lengths = calculate_line_lengths(plane_x,plane_y, rect_corners);

% send the above two answers to herons_formula, get 4 areas

four_areas = herons_formula(edge_lengths, line_lengths);

sum_four_areas = sum(four_areas);

if sum_four_areas == rect_area

in_rect = true;

elseif sum_four_areas < rect_area

in_rect = false;

end

```

My code falls into the elseif when it should be going into the if statement as they are equal.

Why?

##### 6 Comments

Jan
on 18 Feb 2022

@Walter Roberson: Until today, the method ismembertol has implemented the tolerance, did never match my needs in real code:

abs(u-v) <= tol*max(abs([A(:);B(:)]))

'DataScale' is not a solution also.

### Answers (1)

Prateek Rai
on 24 Feb 2022

##### 0 Comments

### See Also

### Community Treasure Hunt

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

Start Hunting!