clear all
figure(1);
clf;
set(1,'position',[407 12 612 684]);
global u0 coef l;
%
% risolve u' = l u con dato iniziale u(0) nell'intervallo [0 1]
% usando Galerkin con polinomi globali
%
n=input('Grado del polinomio? ');
%
% dati iniziali
%
l=1; u0=1;
%
% costruzione della matrice
%
for i=1:n
  for j=1:n
    a(i,j)=j/(i+j)-l/(i+j+1);
  end
  f(i)=u0*l/(i+1);
end
%
% soluzione
%
flag=input(['Con che metodo vuoi risolvere il sistema lineare? \n' ...
            '   1) soluzione di matlab\n' ...
            '   2) soluzione con l''inversa di A\n' ...
            '   3) calcolo dell''inversa mediante sistema lineare\n' ...
            '      scelta=? ']);
if flag==1
  coef=a\f';
elseif flag==2
  coef=inv(a)*f';
elseif flag==3
  coef=a\eye(size(a))*f';
else
  error('scelta sbagliata')
end
%
% grafico della soluzione
%
set(1,'defaultlinelinewidth',3)
hold on;
fplot('soluzione(x)',[0 1])
fplot('esatta(x)',[0 1],'r--')
h_legend=legend('calcolata','esatta',2);
h_text=findobj(h_legend,'type','text');
set(h_text,'FontUnits','points','FontSize',20);
