% matlab script to derive the 2-point Gauss-Laguerre quadrature rule % and use it on an example % inelegantly set up equations from method of undetermined coefficients % and solve clear all close all format long eq1 = 'w1*1 + w2*1 = 1'; eq2 = 'w1*x1 + w2*x2 = 1'; eq3 = 'w1*x1^2 + w2*x2^2 = 2'; eq4 = 'w1*x1^3 + w2*x2^3 = 6'; [w1,w2,x1,x2] = solve(eq1,eq2,eq3,eq4) pause % note: there are two solutions % we pick the one where x1 < x2 [x1,index] = min(double(x1)) w1 = double(w1(index)) x2 = double(x2(index)) w2 = double(w2(index)) % define the integrand f = @(x) exp(x).*log(1+exp(-x)); % use Gauss-Laguerre quadrature to approximate it glq = w1*feval(f,x1) + w2*feval(f,x2) % now let's find the exact answer and see what the error is ... syms x I = double(int(log(1+exp(-x)),0,Inf)) error
Matlab Gauss-Laguerre
最新推荐文章于 2024-03-02 17:27:48 发布