Integrating tolerance level with MATLAB gt(A,B)
2 次查看(过去 30 天)
显示 更早的评论
Hello!
Is there any good way to use gt(A,B) to determine if A>B with a tolerance level, as in ismembertol(A,B) to determine equality?
Best regards, Nils
0 个评论
回答(2 个)
Steven Lord
2017-4-19
A = 1;
B = 1.2;
tol = 0.25;
strictlyGreater = A > B
greaterWithTolerance = A > (B - tol)
6 个评论
Steven Lord
2017-4-21
For this example, turn on hex formatting and display A and B. That way we can regenerate the EXACT values of your A and B variables.
format hex
A
B
format % restore default formatting
For those exact A and B vectors, what would you want the output of this to be?
tf = greaterThanWithTolerance(A, B)
If you would expect to call such a function with a user-specified tolerance, what tolerance would you expect to specify to receive your desired output?
tf = greaterThanWithTolerance(A, B, tol)
Walter Roberson
2017-4-21
What shows up for
fprintf('%.999g\n', B-A)
?
Also please clarify whether you would like the tolerance to be absolute or relative.
Walter Roberson
2017-4-19
No, there is no good way to use gt() for this purpose: overriding the gt method of double class runs too much risk of breaking things. For example it could break max()
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Whos 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!