求Gauss積分查表?
用matlab編 所有的系數都能算出來% 高斯-勒讓德數值積分
fun=@(x)sin(x).*x.^3; % fun:積分表達式
% a,b:積分上下限
a = 0;
b = pi;
tol=1e-8; % tol:積分精度,默認1e-6
% 計算求積節點
syms x
p=sym2poly(diff((x^2-1)^(n+1),n+1))/(2^n*factorial(n));
tk=roots(p); % 求積節點
% 計算求積系數
Ak=zeros(n+1,1);
for i=1:n+1
xkt=tk;
xkt(i)=[];
pn=poly(xkt);
fp=@(x)polyval(pn,x)/polyval(pn,tk(i));
Ak(i)=quadl(fp,-1,1,tol); % 求積系數
end
% 積分變量代換,將[a,b]變換到[-1,1]
xk=(b-a)/2*tk+(b+a)/2;
% 檢驗積分函數fun有效性
fun=fcnchk(fun,'vectorize');
% 計算變量代換之后積分函數的值
fx=fun(xk)*(b-a)/2;
% 計算積分值
ql=sum(Ak.*fx)
quadl(fun,0,pi) % 調用MATLAB內部積分函數檢驗 說明一下,我不懂得,引用的,希望能幫到你