Just like the MATLAB function “isequal” checks if two MATLAB variables of any type are equal, but here floating-point numbers are considered equal if the difference is less than a set tolerance. The floating-point numbers can be double or single precision, real or complex, stored in full or sparse numeric arrays. These numeric arrays can be contained in cell and structure arrays, and any combination of these. However, note that the function might be slow for very large structures and cell arrays.
Includes the option to consider NaN-values different and to only check if numeric data is equal.
Examples:
clear
isequal(1, 1+eps)
isequaltol(1, 1+eps)
A = rand(100, 100);
B = log10(10.^A);
isequal(A, B)
isequaltol(A, B)
C.data = {sparse(A(A < 0.5) + 1i*A(A < 0.5))};
D.data = {sparse(B(B < 0.5) + 1i*B(B < 0.5))};
isequal(C, D)
isequaltol(C, D)
引用格式
Patrik Forssén (2024). isequal Function with Tolerance (https://www.mathworks.com/matlabcentral/fileexchange/113375-isequal-function-with-tolerance), MATLAB Central File Exchange. 检索时间: .
MATLAB 版本兼容性
创建方式
R2020a
与 R2015a 及更高版本兼容
平台兼容性
Windows macOS Linux标签
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!