% provient de TPinterpolation.tex %% exemple 1.1 disp('exemple 1.1'); [D,Dt]=diff_div_dist([1 2 6],[-3 1 2]); disp(Dt); format rat; disp(Dt); format; [D,Dt]=diff_div_dist(sym([1 2 6]),sym([-3 1 2])); disp(Dt); %% exemple 1.2 pause; disp('exemple 1.2'); A=2; B=3; a=6; b=7; n=3; No=-cos(pi*(0:n)/n); Nob=(a+b)/2+(b-a)/2*No; f=@(x) log(A*x+B); [D,Dt]=diff_div_dist(Nob,f(Nob)); disp(Dt); format long; disp(Dt); format; for p=1:7 [D,Dt]=diff_div_dist(Nob,round(f(Nob)*10^p)/10^p);disp(round(Dt*10^p)/10^p); end No=-cos(sym(pi)*(0:n)/n); Nob=(a+b)/2+(b-a)/2*No; [D,Dt]=diff_div_dist(Nob,f(Nob)); disp(Dt); disp(double(Dt)); %% exemple 1.3 pause; disp('exemple 1.3'); X=[1 2 6]; Y=[-3 1 2]; disp(norm(test_diff_div_dist(X,X,Y)-Y)); disp(test_diff_div_dist(1.8,X,Y)); syms x; disp(expand(test_diff_div_dist(x,X,Y))); %% exemple 1.4 pause; disp('exemple 1.4'); A=2; B=3; a=6; b=7; n=3; No=-cos(pi*(0:n)/n); Nob=(a+b)/2+(b-a)/2*No; f=@(x) log(A*x+B); x=linspace(a,b,1000); y=test_diff_div_dist(x,Nob,f(Nob)); plot(x,y,x,f(x),Nob,f(Nob),'o'); figure; plot(x,abs(y-f(x))); z=linspace(a,b,1e6); disp(max(abs(test_diff_div_dist(z,Nob,f(Nob))-f(z))));