ISEQUALFP: Check equality within floating point precision

Accepts two values, returns a logical indicating if they are equal within floating point precision

Sie verfolgen jetzt diese Einreichung

ISEQUALFP Check two values for equality within floating point precision

It is widely known that floating point computation has a fundamental
limitation: not every value can be represented exactly. This can
lead to surprising results for those unfamiliar with this
limitation, especially since 'double' is MATLAB's default numerical
data type.

This function accepts two float values (single or double) or arrays
of floats, and returns a logical value indicating whether they
are equal within floating point precision. Mixed single and double
inputs will be evaluated based on single floating point precision.

Floating point accuracy reference:
http://blogs.mathworks.com/loren/2006/08/23/a-glimpse-into-floating-point-accuracy/

Usage:
yn = isequalfp(a,b)

a,b: floats or arrays of floats to compare

yn: logical scalar result indicating equality

Example:
a = 0.3;
b = 0.1*3;
isequal(a,b) % ans = 0
isequalfp(a,b) % ans = 1
c = a+2*eps(a) % c = 0.3000...
isequalfp(a,c) % ans = 0

See also: EPS, ISEQUAL

Zitieren als

Andrew Davis (2026). ISEQUALFP: Check equality within floating point precision (https://de.mathworks.com/matlabcentral/fileexchange/36734-isequalfp-check-equality-within-floating-point-precision), MATLAB Central File Exchange. Abgerufen .

Quellenangaben

Inspiriert: Solve Magic Square

Allgemeine Informationen

Kompatibilität der MATLAB-Version

  • Kompatibel mit allen Versionen

Plattform-Kompatibilität

  • Windows
  • macOS
  • Linux
Version Veröffentlicht Versionshinweise Action
1.5.0.0

Updated documentation to explain single/double behaviour

1.3.0.0

Syntax modified per Jan's suggestion

1.1.0.0

Description grammar and spacing corrections

1.0.0.0