clear all
close all

a=-pi/3;b=pi/4;nq=100;
x=ep00.mesh1D(a,b,nq)'; % x vecteur colonne

M=ep00.Masse(x);

% Premiere validation triviale
u=@(x) 1+0*x; v=@(x) 1+0*x; % 0*x pour obtenir un vecteur 
Iex=b-a;
U=u(x);V=v(x);

I=dot(M*U,V);
fprintf('Test 1 [u=%s,v=%s]: erreur : %.5e\n',char(u),char(v),abs(I-Iex))

u=@(x) 2*x-3; v=@(x) x+3/5; %sage: var('x');u(x)=2*x-3;v(x)=x+3/5;integrate(u(x)*v(x),(x,-pi/3,pi/4))
Iex=-21/20*pi + 91/2592*pi^3 + 7/160*pi^2;
U=u(x);V=v(x);

I=dot(M*U,V);
fprintf('Test 2 [u=%s,v=%s]: erreur : %.5e\n',char(u),char(v),abs(I-Iex))

u=@(x) 2*x.^2+5*x-3; v=@(x) x+3/5; %sage: var('x');u=2*x**2+5*x-3;v=x+3/5;integrate(u*v,(x,-pi/3,pi/4))
Iex=-21/20*pi - 175/41472*pi^4 + 2821/25920*pi^3;
U=u(x);V=v(x);

I=dot(M*U,V);
fprintf('Test 3 [u=%s,v=%s]: erreur : %.5e\n',char(u),char(v),abs(I-Iex))

u=@(x) cos(x); v=@(x) sin(x); %sage:
% u(x)=cos(x);v(x)=sin(x);integrate(u(x)*v(x),x)
f=@(x) u(x).*v(x);
pf=@(x) -1/2*cos(x).^2; % primitive de u
Iex=pf(b)-pf(a); % integrale exacte de f

U=u(x);V=v(x);

I=dot(M*U,V);
fprintf('Test 4 [u=%s,v=%s]: erreur : %.5e\n',char(u),char(v),abs(I-Iex))

