function z=es_bvp(t,x)
% Ex 7.2 Ascher-Petzold
% Prova ad usare bvp4c
% Le BC sono definite in es_bvp_bc

% solinit=bvpinit(linspace(0,1,5),ones(3,1))
% sol = bvp4c(@es_bvp,@es_bvp_bc,solinit)
% sol e' un struct array
%sol = 
%
%    solver: 'bvp4c'
%         x: [1x25 double]
%         y: [3x25 double]
%        yp: [3x25 double]
%     stats: [1x1 struct]
% sol.x contiene la discretizzazione dell'intervallo
% sol.y l'approssimazione della soluzione
% sol.yp l'approssimazione della derivata soluzione

% Nel problema specifico, fare plot(sol.x,sol.y(1,:))
l=10;
A=zeros(3);
A(1,2)=1;
A(2,3)=1;
A(3,:)=[-2*l^3, l^2, 2*l];

q=zeros(3,1);
q(3)=sin(pi*t)*pi^3+ 2* l^3 *cos(pi*t) + l^2*sin(pi*t)*pi+2*l*cos(pi*t)* pi^2;

z=A*x+q;
