How to set up an approximately equal conditional statement?
古いコメントを表示
with a tolerance of a certain value like .05, how would I check if the values for example x = 1 and y = 1.02 were approximately equal?
回答 (4 件)
Star Strider
2016 年 9 月 26 日
I would do something like this:
x = 1;
y = 1.02;
tol = 0.05;
app_eq = @(x,y,tol) abs(x-y)<tol;
Out = app_eq(x,y,tol)
Out =
1
The result ‘Out’ is a logical value of 1 or true.
John D'Errico
2016 年 9 月 26 日
What would this tell you?
abs(x - y)
Walter Roberson
2016 年 9 月 26 日
0 投票
You may wish to look at ismembertol()
Jennifer Rebbin
2025 年 7 月 10 日
移動済み: Stephen23
2025 年 7 月 11 日
Starting in R2024b, you can use the isapprox function to determine if two input arrays are approximately equal. Specify the maximum allowed difference between elements using the AbsoluteTolerance name-value argument.
isapprox(1,1.02,AbsoluteTolerance=0.05)
isapprox(1,1.02,AbsoluteTolerance=0.01)
カテゴリ
ヘルプ センター および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!