function [xg,wg]=GetGaussPointsLine(nb_gauss_point,nb_sub_cell)
if nargin==1, nb_sub_cell=1;end
check=0;
switch nb_gauss_point
case 1
xg=0.;
wg=2.;
case 2
xg = [-0.5773502691;0.5773502691];
wg = [1.;1.];
case 2.5
xg = [-1+0.00001;1-0.00001];
wg = [1.;1.];
case 3
xg= [-0.7745966692;0.;0.7745966692];
wg = [.5555555555;.8888888888;.5555555555];
case 4
xg= [0.3399810435;-0.3399810435;0.8611363115;-0.8611363115];
wg = [0.6521451548;0.6521451548;0.3478548451;0.3478548451];
case 5
xg= [0.;0.5384693101;-0.5384693101;0.9061798459;-0.9061798459];
wg = [0.5688888888;0.4786286704;0.4786286704;0.2369268850;...
0.2369268850];
case 6
xg= [0.2386191860;-0.2386191860;0.6612093864;-0.6612093864;...
0.9324695142;-0.9324695142];
wg = [0.4679139345;0.4679139345;0.3607615730;0.3607615730;...
0.1713244923;0.1713244923];
case 7
xg = [0.;0.4058451513;-0.4058451513;0.7415311855;-0.7415311855;...
0.9491079123;-0.9491079123];
wg = [.4179591836;.3818300505;.3818300505;.2797053914;...
.2797053914;.1294849661;.1294849661];
case 8
xg=zeros(8,1);
wg=zeros(8,1);
xg(1) = -.9602898564975362;
xg(2) = -.7966664774136267;
xg(3) = -.5255324099163290;
xg(4) = -.1834346424956498;
xg(5) = .1834346424956498;
xg(6) = .5255324099163290;
xg(7) = .7966664774136267;
xg(8) = .9602898564975362;
wg(1) = .1012285362903763;
wg(2) = .2223810344533745;
wg(3) = .3137066458778873;
wg(4) = .3626837833783620;
wg(5) = .3626837833783620;
wg(6) = .3137066458778873;
wg(7) = .2223810344533745;
wg(8) = .1012285362903763;
case 9
xg=zeros(9,1);
wg=zeros(9,1);
xg(1) = -.9681602395076261;
xg(2) = -.8360311073266358;
xg(3) = -.6133714327005904;
xg(4) = -.3242534234038089;
xg(5) = 0.;
xg(6) = .3242534234038089;
xg(7) = .6133714327005904;
xg(8) = .8360311073266358;
xg(9) = .9681602395076261;
wg(1) = .0812743883615744;
wg(2) = .1806481606948574;
wg(3) = .2606106964029354;
wg(4) = .3123470770400029;
wg(5) = .3302393550012598;
wg(6) = .3123470770400028;
wg(7) = .2606106964029355;
wg(8) = .1806481606948574;
wg(9) = .0812743883615744;
case 10
xg=zeros(10,1);
wg=zeros(10,1);
xg(1) = -0.97390653;
xg(2) = -0.86506337;
xg(3) = -0.67940957;
xg(4) = -0.43339539;
xg(5) = -0.14887434;
xg(6) = 0.14887434;
xg(7) = 0.43339539;
xg(8) = 0.67940957;
xg(9) = 0.86506337;
xg(10) = 0.97390653;
wg(1) = 0.06667134;
wg(2) = 0.14945135;
wg(3) = 0.21908636;
wg(4) = 0.26926672;
wg(5) = 0.29552422;
wg(6) = 0.29552422;
wg(7) = 0.26926672;
wg(8) = 0.21908636;
wg(9) = 0.14945135;
wg(10) = 0.06667134;
case 15
xg=zeros(15,1);
wg=zeros(15,1);
xg(1) = -.9879925180204854;
xg(2) = -.9372733924007059;
xg(3) = -.8482065834104272;
xg(4) = -.7244177313601700;
xg(5) = -.5709721726085388;
xg(6) = -.3941513470775634;
xg(7) = -.2011940939974345;
xg(8) = 0.;
xg(9) = .2011940939974345;
xg(10) = .3941513470775634;
xg(11) = .5709721726085388;
xg(12) = .7244177313601700;
xg(13) = .8482065834104272;
xg(14) = .9372733924007059;
xg(15) = .9879925180204854;
wg(1) = .03075324199611807;
wg(2) = .07036604748811134;
wg(3) = .1071592204671351;
wg(4) = .1395706779261761;
wg(5) = .1662692058169852;
wg(6) = .1861610000155741;
wg(7) = .1984314853271374;
wg(8) = .2025782419255562;
wg(9) = .1984314853271374;
wg(10) = .1861610000155741;
wg(11) = .1662692058169852;
wg(12) = .1395706779261761;
wg(13) = .1071592204671351;
wg(14) = .07036604748811134;
wg(15) = .03075324199611807;
end
if (nb_sub_cell)>1
dx=2/nb_sub_cell;
xc=(-1+dx/2):dx:(1-dx/2);
xg=repmat(xc(:)',numel(xg),1)+repmat(dx*xg/2,1,numel(xc));
xg=xg(:);
wg=repmat(wg/numel(xc),numel(xc),1);
end
end