Modulo with expression not the same as modulo with value

4 ビュー (過去 30 日間)
James
James 2025 年 7 月 18 日
編集済み: James 2025 年 7 月 18 日
Why does mod(1, Y-X) not approximately equal 0?
mod(1, 0.1)
ans = 0
X = 2;
Y = 2.1;
Y - X
ans = 0.1000
mod(1, Y - X)
ans = 0.1000
I realize that Y - X ~= 0.1 but
isapprox(Y - X, 0.1, "loose")
ans = logical
1
therefore, why not
isapprox(mod(1, Y - X), 0, "loose")
ans = logical
0
My guess is that it is either something to do with floating point precision or the fact that it is an expression vs. a value?

採用された回答

Matt J
Matt J 2025 年 7 月 18 日
編集済み: Matt J 2025 年 7 月 18 日
Because mod(1,z) is a discontinuous function of z at 0.1,
fplot(@(z) mod(1,z),[0,0.2])
  1 件のコメント
James
James 2025 年 7 月 18 日
編集済み: James 2025 年 7 月 18 日
Ah right, thought I was missing something obvious, thanks.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeProgramming についてさらに検索

タグ

製品


リリース

R2025a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by