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.
ダウンロード: 13
更新 2024/8/25

ライセンスの表示

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
すべてのリリースと互換性あり
プラットフォームの互換性
Windows macOS Linux
タグ タグを追加
バージョン 公開済み リリース ノート
1.1.2

Fix problem with complex coefficients. (Replace find(logical(c)) with find(c~=0).)

1.1.1

Eliminate infinite roots.

1.1.0

Modified to work with poorly scaled polynomials.

1.0.1

Added tag "polynomial roots".

1.0.0