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!