Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2025.0.0 - Français


horner

évalue des polynômes ou des fractions rationnelles en des valeurs données

Séquence d'appel

horner(P,x)

Paramètres

P

tableau de polynômes ou de quotients polynomiaux (fractions rationnelles).

x

tableau de nombres, de polynômes, ou de fractions rationnelles.

Description

évalue le polynôme ou la fraction rationnelle (ou matrice de fractions rationnelles) P = P(s) quand la variable s du polynôme est remplacée par x :

horner(P,x)=P(x)

Exemple (transformation bilinéaire) : supposons que P = P(s) est une matrice de polynômes, alors la matrice de polynômes P((1+s)/(1-s)) est obtenue par horner(P,(1+s)/(1-s)).

Pour évaluer une matrice de polynômes à des fréquences données utiliser plutôt la primitive freq.

Exemples

Evaluations d'un polynôme :

P = poly(1:3, 'x', 'coeff')
s = %s;
horner(P, [1 2 ; 3 4])       // pour des valeurs réelles
horner(P, [1 2 ; 3 4]+%i)    // pour des valeurs complexes
horner(P, [1, s ; s^2, s^3]) // pour d'autres polynômes
horner(P, [1/s, 1/s^2])      // pour des fractions rationnelles
--> P = poly(1:3, 'x', 'coeff')
 P  =
  1 +2x +3x²

--> s = %s;
--> horner(P, [1 2 ; 3 4])       // pour des valeurs réelles
 ans  =
   6.    17.
   34.   57.

--> horner(P, [1 2 ; 3 4]+%i)    // pour des valeurs complexes
 ans  =
   3.  + 8.i    14. + 14.i
   31. + 20.i   54. + 26.i

--> horner(P, [1, s ; s^2, s^3]) // pour d'autres polynômes
 ans  =
  6            1 +2s +3s²

  1 +2s² +3s⁴  1 +2s³ +3s⁶

--> horner(P, [1/s, 1/s^2])      // pour des fractions rationnelles
 ans  =
   3 +2s +s²  3 +2s² +s⁴
   ---------  ----------
      s²          s⁴

Evaluation of de fractions rationnelles :

[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

Voir aussi

  • feval — évaluation multiple d'une fonction
  • evstr — évalue des expressions Scilab et concatène leurs résultats
Report an issue
<< hermit Polynômes hrmt >>

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:
Thu Oct 24 11:15:58 CEST 2024