[Users-fr] Ce message concerne la fonction horner.
Lucien Povy
lucien.povy at free.fr
Ven 17 Jan 18:28:53 CET 2014
Bonjour,
Quand on veut exécuter l'instruction suivante
-->H=[1+s;(1+s+s*s);1/(2+3*s+s*s)];
-->f=[1+%i,(1-s)/(1+s),1/s,4]; scilab renvoie :
-->Mat=horner(H,f)
!--error 60
Dimension erronée de l'argument : Dimensions incompatibles.
at line 22 of function horner called by :
Mat=horner(H,f)
Pourtant il est bien dit dans le programme horner que
H peut être un vecteur colonne et que f peut être un vecteur ligne
voici le commentaire dans le programme.
// Special cases aded to improve efficiency:
// - p = row vector, x = column vector
// - p = column vector, x = row vector
// - x = scalar
Par le passé cette instruction marchait parfaitement (version 2.?).
Comment revenir au cas précédent ?
Mais cela marche si f est un scalaire :
-->Mat=horner(H,f(1,2))
Mat =
! 2 3 4 5 6 7 !
! 2 + 14s + 42s + 70s + 70s + 42s + 14s + 2s !
! -------------------------------------------------------- !
! 2 3 4 5 6 7 8 !
! 1 + 8s + 28s + 56s + 70s + 56s + 28s + 8s + 1s !
! 2 3 4 5 6 7 8 !
! 3 + 18s + 46s + 66s + 60s + 38s + 18s + 6s + 1s !
! --------------------------------------------------------- !
! 2 3 4 5 6 7 8 !
! 1 + 8s + 28s + 56s + 70s + 56s + 28s + 8s + 1s !
! 2 3 4 5 6 7 8 !
! 1 + 8s + 28s + 56s + 70s + 56s + 28s + 8s + 1s !
! -------------------------------------------------------- !
! 2 3 4 5
6 7 !
! 6 + 38s + 102s + 150s + 130s + 66s + 18s + 2s !
Mais ici impossible de simplifier le résultat !!!!
Bien cordialement.
Plus d'informations sur la liste de diffusion users-fr