roots_
バージョン 1.1.2 (1.44 KB) 作成者:
Kenneth Johnson
roots_(c) works with poorly scaled polynomials and does not return zero when c(end) is nonzero.
This fixes the MATLAB roots function to work with poorly scaled polynomials. For example,
c = 10.^(20:-1:0);
x = roots(c); max(abs(polyval(c,x))) % 7.647251195518823e-08
x = roots_(c); max(abs(polyval(c,x))) % 7.257804400984254e-14
This also fixes the MATLAB roots function to work with small roots. For example, roots([1,1,1,1e-32]) incorrectly gives a root of exact zero. roots_([1,1,1,1e-32]) gives the correct root of -1e-32.
(Reported as Case Number 04335183 on 30 Jun 2020 and Case Number 07198299 on 05 Aug 2024.)
引用
Kenneth Johnson (2026). roots_ (https://jp.mathworks.com/matlabcentral/fileexchange/84280-roots_), MATLAB Central File Exchange. に取得済み.
MATLAB リリースの互換性
作成:
R2024a
すべてのリリースと互換性あり
