% script demo_verifie_formule : verification formelle de différences divisées.
%
%
% ************ Fonctions auxiliaires utilisées ************
%  
%  diff_div, eval_horner
%
% *********************************************************


clear all;
syms x a b fa fpa fb fpb;
X=[a a b b];
Y=[fa fpa fb fpb];
D=diff_div(X,Y);
disp('affichage des différentes différences divisées : ');
disp(' ');
disp('Ici, fpa et fpb désignent  f''(a) et f''(b)');
disp(' ');
disp('f[a] : ');
disp(D(1));
disp('f[a,a] : ');
disp(D(2));
disp('f[a,a,b] : ');
disp(D(3));
disp('f[a,a,b,b] : ');
disp(D(4));
disp('appuyez sur une touche pour continuer ');
pause;
disp(' ');
disp(' ');
disp('vérification des formules : ');
disp('f[a]=f(a) : ');
auxi=simplify(D(1)-(fa));
if (auxi==0) 
   disp('ok !!!');   
else
   disp('erreur !!!');   
end
disp('f[a,a]=f''(a) : ');
auxi=simplify(D(2)-(fpa));
if (auxi==0) 
   disp('ok !!!');   
else
   disp('erreur !!!');   
end 
disp('f[a,a,b]=(f(b)-f(a))/((b-a)^2)-(f''(a))/(b-a) : ');
auxi=simplify(D(3)-((fb-fa)/((b-a)^2)-(fpa)/(b-a)));
if (auxi==0) 
   disp('ok !!!');   
else
   disp('erreur !!!');   
end 
disp('f[a,a,b,b]=(f''(a)+f''(b))/((b-a)^2)+2(f(a)-f(b))/((b-a)^3) : ');
auxi=simplify(D(4)-((fpa+fpb)/((b-a)^2)+2*(fa-fb)/((b-a)^3)));
if (auxi==0) 
   disp('ok !!!');   
else
   disp('erreur !!!');   
end 
