function s=trapecios(f,a,b,N)  
% Calculo de integrales mediante el metodo de los trapecios.    
%
%  Entradas:  f = funcion que deseamos integrar 
%             introducida como una cadena de caracteres.
%         
%    a, b = extremos del intervalo de integracion.    
%       N = numero de subintervalos de la particion de [a,b].
%  
% Salidas:     s =  valor aproximado de la integral.     
%          error =  estimacion del error cometido.
%
%  Comandos de Matlab utilizados (para display inicial y final): 
%
%  disp('...') = display de una cadena de caracteres
%  mat2str(x)  = convierte la "matriz" x en una cadena de caracteres
%

disp(' ');
disp('Calculo de la integral mediante el Metodo de los trapecios'); 
disp(' ');  
disp(['Funcion que se integra: F(x) =' f ]);  
disp(['Intervalo de integracion: [' mat2str(a) ',' mat2str(b) ']' ]);   

x=a; 
fa=eval(f); 
x=b; 
fb=eval(f); 
h=(b-a)/N;
 
s=0;  
for i=1:(N-1)
x=a+i*h;
s=s+eval(f);  
end  
s=(h/2)*(fa+2*s+fb);   

disp(' ');
disp(['La solucion aproximada es:' mat2str(s)]); 
disp(' ');

% Estimacion del error 

M= input('Introduce una cota M=sup|f´´|: ' );
error=M*(b-a)*h^2/12;

disp(' ');
disp(['La cota de error es:' mat2str(error)]);  
disp(' ');
   