function S=IntGauLeg(f,a,b,n)
if nargin<3
    f=@(x) exp(x).*cos(30)
a=3;
b=1;
n=100;
end
Coef1=(b-a)/2;
Coef2=(b+a)/2;
[x, w] = gauleg(n)
S=Coef1*sum(f(Coef1*x+Coef2).*w);
end
 
function [x, w] = gauleg(n)

nn = 1:n;
a = sqrt((2*nn-1).*(2*nn+1))./nn;
b = 0*nn;
c = (nn-1)./nn.*sqrt((2*nn+1)./(2*nn-3));
 
alpha = -b./a;
beta = sqrt(c(2:n)./(a(1:n-1).*a(2:n)));
 
mu0 = 2;
 
J = diag(beta,-1) + diag(alpha) + diag(beta,1);
[u,v] = eig(J);
[x,j] = sort(diag(v));
w = (mu0*u(1,:).^2)';
w = w(j);
end