Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2024.0.0 - 日本語


factors

実数因数分解

呼び出し手順

[lnum, gain] = factors(pol)
[lnum, gain] = factors(pol, flag)
[lnum, lden, gain] = factors(rat)
[lnum, lden, gain] = factors(rat, flag)
rat = factors(rat, flag)

パラメータ

pol
実数多項式

rat
実数有理多項式 (rat=pol1/pol2).

lnum, lden
(1 または 2次の)多項式のリスト

gain
実数

flag
文字列 'c'または 'd'.

説明

多項式polの因数を リストlnumおよび"ゲイン" gに返します.

(flagが指定されない場合,) pol= gain にリストlnumのエントリの積を乗じることになります. flag='c'が指定された暴い, |pol(i omega)| = |gain*prod(lnum_j(i omega)| となります. flag='d'が指定された場合, |pol(exp(i omega))| = |gain*prod(lnum_i(exp(i omega))| となります. factorsの引数が 1x1 有理数 rat=pol1/pol2の場合, 分子pol1 および分母 the denominator pol2の因数 がそれぞれリストlnum および ldenに返されます.

"gain" は gainに返されます. すなわち: rat= gain times (lnumのエントリの積) / (ldenのエントリの積).

flag'c' (または'd')の場合, polの根は虚軸(または単位円)に関して折り返されます. すなわち,lnumの因数は安定な多項式となります.

有理数の引数を指定してfactorsがコールされた場合: lnumおよび ldenのエントリは, flagが指定された場合に 安定な多項式となります. 有理関数R1またはSISOリストsyslinを指定する R2=factors(R1,'c') または R2=factors(R1,'d') の場合, 出力R2は,安定な分子および分母を有し, 虚軸('c')または単位円('d')に沿った R1と同じ大きさの伝達関数となります.

n = poly([0.2,2,5],'z');
d = poly([0.1,0.3,7],'z');
R = syslin('d',n,d);
R1 = factors(R,'d')
roots(R1('num'))
roots(R1('den'))
w = exp(2*%i*%pi*[0:0.1:1]);
norm(abs(horner(R1,w)) - abs(horner(R,w)))

参照

  • polfact — 最小因数
  • roots — 多項式の根
  • pfss — 部分分数分解
  • simp — 有理数の簡単化
Report an issue
<< diophant Polynomials hermit >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Oct 24 14:36:18 CEST 2023