Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - 日本語 - Русский
Ajuda do Scilab >> Polinômios > horner

horner

avaliação polinomios ou razões de polinômios

Seqüência de Chamamento

horner(P, x)

Parâmetros

P

matriz de polinômios ou de razões de polinômios

x

matriz de números, polinômios, ou razães de polinômios

Descrição

Avalia a matriz de polinômios ou de razões de polinômiosP = P(s) quando a variável s do polinômio é substituida por x:

horner(P,x)=P(x)

Exemplo (transformação bilinear): admita que P= P(s) uma matriz de razões de polinômios, então a matriz de razões de polinômios P((1+s)/(1-s)) é obtida por horner(P,(1+s)/(1-s)).

Para avaliar uma matriz de razões de polinômios em dadas freqüências use preferivelmente a primitiva freq .

Exemplos

Avaliação de um polinômio :

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⁴

Avaliação de alguns razães de polinômios :

[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

Ver Também

Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Jan 03 14:35:23 CET 2022