horner
evaluates some polynomials or rationals for given values
Syntax
horner(P, x)
Arguments
- P
 array of polynomials or of rationals.
- x
 array of numbers, polynomials, or rationals.
Description
evaluates the polynomial or rational
            matrix P = P(s) when the variable s of the
            polynomial is replaced by x:
horner(P,x)=P(x)
Example (Bilinear transform): Assume P = P(s) is
            a rational matrix  then the rational matrix
            P((1+s)/(1-s)) is obtained by horner(P,(1+s)/(1-s)).
To evaluate a rational matrix at given frequencies use
            preferably the freq primitive.
Examples
Evaluation of a polynomial:
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⁴
Evaluation of some rationals:
[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 >> |