horner
多項式/有理数の評価
呼び出し手順
horner(P,x)
Parameters
- P
多項式または多項式商の配列
- x
数値、多項式、または多項式商の配列
説明
多項式の変数sがxで
置換される時,
多項式または有理数行列P = P(s)を評価します:
horner(P,x)=P(x)
例 (双一次変換): P = P(s) が有理行列と仮定すると,
有理行列P((1+s)/(1-s))は
horner(P,(1+s)/(1-s))により得られます.
指定した周波数で有理行列を評価する場合は,
freqプリミティブを使用する方が良いでしょう.
例
多項式の評価:
P = poly(1:3, 'x', 'coeff') s = %s; horner(P, [1 2 ; 3 4]) // for real values horner(P, [1 2 ; 3 4]+%i) // for complex values horner(P, [1, s ; s^2, s^3]) // for polynomial values horner(P, [1/s, 1/s^2]) // for rational values
--> P = poly(1:3, 'x', 'coeff')
P =
1 +2x +3x²
--> s = %s;
--> horner(P, [1 2 ; 3 4]) // for real values
ans =
6. 17.
34. 57.
--> horner(P, [1 2 ; 3 4]+%i) // for complex values
ans =
3. + 8.i 14. + 14.i
31. + 20.i 54. + 26.i
--> horner(P, [1, s ; s^2, s^3]) // for polynomial values
ans =
6 1 +2s +3s²
1 +2s² +3s⁴ 1 +2s³ +3s⁶
--> horner(P, [1/s, 1/s^2]) // for rational values
ans =
3 +2s +s² 3 +2s² +s⁴
--------- ----------
s² s⁴
いくつかの多項式商の評価 :
[s,z] = (%s, %z); M = [1/s, (s-1)/s] horner(M, 1) horner(M, %i) horner(M, 2+s) horner(M, (2+z)/z) horner(M, [1, 1/z ; 2, (2+z)/z])
--> M = [1/s, (s-1)/s]
M =
1 -1 +s
- -----
s s
--> horner(M, 1)
ans =
1. 0.
--> horner(M, %i)
ans =
0. - i 1. + i
--> horner(M, 2+s)
ans =
1 1 +s
---- ----
2 +s 2 +s
--> horner(M, (2+z)/z)
ans =
z 2
---- ----
2 +z 2 +z
--> horner(M, [1, 1/z ; 2, (2+z)/z])
ans =
1 z 0 1 -z
- - - ----
1 1 1 1
1 z 1 2
- ---- - ----
2 2 +z 2 2 +z
| Report an issue | ||
| << hermit | Polynomials | hrmt >> |