1 function res=verifie_diff_div(X,Y)
\r
3 % verifie_diff_div : verification pour le calcul du polynôme interpol. support quelconque
\r
6 % *********************************************************
\r
8 % res=verifie_diff_div(X,Y)
\r
9 % vérification du calcul du polynôme d'interpolation défini par le nuage de point X,Y
\r
10 % pour support quelconque
\r
12 % variables d'entrées :
\r
13 % * X : contient les valeurs x_i, pour 0 <=i<=n (dans l'ordre croissant)
\r
14 % * Y : contient les valeurs f^(r)(x_i), pour 0 <=i<=n, de telle sorte que :
\r
15 % si x_k est multiple avec x_{k-1}~=x_k=x_{k+1}=...=x_{k+r}~=x_{k+r+1} alors
\r
16 % y_k=f(x_k), y_{k+1}=f'(x_k), ..., y_{k+r}=f^(r)(x_k).
\r
18 % variables de sortie
\r
19 % * res : contient le maximum des valeur absolue de
\r
20 % n-p où p est le degré du polynôme d'interpolation p_n
\r
21 % et n+1 est le nombre de points.
\r
22 % maximum sur i dans {0,...,n} maximum sur l dans alpha_i-1
\r
23 % de la quantitée p_n^(l)(x_i)-f^(l)(x_i) (dérivée l fois) où alpha_i est
\r
24 % le nombre d'éléments du n=1-uplet(x_0,...,x_n) égaux à x_i.
\r
26 % Le calcul est correct si et seulement si res est nul.
\r
30 % ************ Fonctions auxiliaires utilisées ************
\r
32 % diff_div, newton_cano, val_derivee_multiple
\r
34 % *********************************************************
\r
37 P=newton_cano(D,X(1:end-1));
\r
44 [alpha,valfder]=val_derivee_multiple(i,X,Y);
\r
46 er=max(er,abs(polyval(P,X(i+1))-valfder(1)));
\r
49 er=max(er,abs(polyval(Q,X(i+1))-valfder(l+1)));
\r