function Z=eval_horner(T,C,D) % % % eval_horner : évaluation vectorielle d'un polynôme à partir de sa forme de Newton. % % ********************************************************* % % Z=eval_horner(T,C,D) % L'évaluation est faite par l'algorithme de Hörner donné en cours, % Elle permet de calculer : % p_n(T)=d_0+d_1(T-c_1)+d_2(T-c_1)(T-c_2)+...+d_n(T-c_1)...(T-c_n) % % variables d'entrées : % * T : contient le tableau (quelconque) des réels où est évalué p_n % * C : contient les centres c_i, pour 1 <=i<=n % * D : contient les coefficients d_i, pour 0<=i<=n % % variables de sortie % * Z : contient le tableau rectangulaire des images de T par p_n % % % ************ Fonctions auxiliaires utilisées ************ % % aucune % % ********************************************************* % Contrôles d'entrée % % nombre d'arguments if nargin~=3 error('nombre d''arguments de la fonction incorrect'); end % taille des variables C et D n=length(C); np=length(D)-1; if n~=np error('les deux tableaux n''ont pas la taille adéquate'); end % Corps d'algorithme Auxi=zeros(size(T)); Auxi(:)=D(n+1); for i=n-1:-1:0 Auxi=(T-C(i+1)).*Auxi+D(i+1); end Z=Auxi;