% =======================================================================
%  .. Matlab script - ECL
%     kristof - Feb. 2009 - demonum1.m
% =======================================================================


clear all;
close all;

colordef none;
whitebg('w');

set(0,'Defaulttextfontname','palatino','DefaulttextFontsize',11,'DefaulttextFontweight','bold');
set(0,'FixedWidthFontName','courier');


%.. coefficients "run userpath/schemes;"
schemes;
global cb2 a11dp dfcb d11dp 


%.. exemple

x = linspace(0,2*pi,20);
f = cos(x);

nx = length(x);

df1 = gradient(f,x);
Elsup1 = max(abs(df1 + sin(x)));

df2 = gradient_cb2(f,x);
Elsup2 = max(abs(df2 + sin(x)));

format short g
disp(['Erreur Lsup, E1 = ',num2str(Elsup1),'   E2 = ',num2str(Elsup2)]);

figure(1);
axes('units','centimeters','position',[2. 2. 12. 8.]);
plot(x,-sin(x),'k');
hold on;
plot(x,df1,'or');
plot(x,df2,'xb');

set(gca,'xlim',[0. 2*pi],'xtick',[0:pi/2:2*pi],'xticklabel',[' 0  ';' p/2';' p  ';'3p/2';' p  '],'fontname','symbol');
set(gca,'ylim',[-1 1],'ytick',[-1:0.5:1]);

xlabel('\theta');
ylabel('sin(\theta)','fontname','palatino');

print -depsc demonum1fg.eps;


%.. derivation aux bords du domaine à l'ordre un
disp(['ordre un, df/dx(x=pi) = ',num2str((f(nx)-f(nx-1))/(x(nx)-x(nx-1))),' !']);




