function B=newton_cano(A,C)
% 
%
% newton_cano : passage de la forme de newton à la forme canonique.
%
% *********************************************************
%
%  B=newton_cano(A,C)
%     L'algorithme repose sur l'algorithme d'Hörner réitéré n fois, avec
%     décalage successif des centres. Cette fonction permet de passer de 
%     la forme de Newton :
%          p_n(x)=a_0+a_1(x-c_1)+a_2(x-c_1)(x-c_2)+...+a_n(x-c_1)...(x-c_n)
%     à la forme canonique 
%          p_n(x)=b_0+b_1x+b_2x^2+...+b_nx^n
%
%	variables d'entrées : 
%     * C : contient les centres c_i, pour 1 <=i<=n
%     * A : contient les coefficients a_i, pour 0<=i<=n 	
%
%	variables de sortie
%     * B : contient les coefficients b_n, b_(n-1),...,b_0
%           (dans cet ordre là)	
% 
% 
% ************ Fonctions auxiliaires utilisées ************
%
%       aucune
%
% *********************************************************
%


% Contrôles d'entrée
%
% nombre d'arguments
if nargin~=2
   error('nombre d''arguments de la fonction incorrect');
end
% taille des variables X et D
n=length(C);
np=length(A)-1;
if n~=np
   error('les deux tableaux n''ont pas la taille adéquate');
end


% Corps d'algorithme
Auxi=A;
for j=1:n
   for i=n-1:-1:j-1
       Auxi(i+1)=Auxi(i+1)-C(i-j+2)*Auxi(i+2);
   end
end
B=fliplr(Auxi);
