chop doesn't chop very small numbers
6 ビュー (過去 30 日間)
古いコメントを表示
I have a small number, say 1e-14, and I want to chop it to three decimals. In this case, it should give 0. Yet:
>> chop(1e-14, 3) ans = 1.0000e-14
What is going on?
3 件のコメント
Star Strider
2018 年 10 月 1 日
The only reference I can find on an InterWeb search is the Wolfram function Chop—Wolfram Language Documentation (link).
I cannot find any documentation for a function of that exact name in MATLAB in a similar search.
採用された回答
Steven Lord
2018 年 10 月 1 日
I believe chop is an old function from Control System Toolbox. I recommend using round instead. The default behavior of round is to round to N decimals but you can also use it to round to N significant digits (which is what chop(X, N) does.)
>> x = 1e-14;
>> round(x, 3)
ans =
0
>> round(x, 3, 'significant')
ans =
1.0000e-14
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Startup and Shutdown についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!