📄 gltable.m
字号:
function [x,w] = GLTable(n)
% GLTable Nodes and weights for Gauss-Legendre quadrature of order n<=8
%
% Synopsis: [x,w] = GLTable(n)
%
% Input: n = number of nodes in quadrature rule, maximum: n = 8
%
% Output: x = vector of nodes
% w = vector of weights
% Numerical values from "Handbook of Mathematical Functions",
% Abramowitz and Stegun, eds., 1965 Dover (reprint), Table 25.4, p. 916
nn = fix(n); % Make sure number of nodes is an integer
x = zeros(nn,1); w = x; % Preallocate x and w vectors
switch nn
case 1
x = 0; w = 2;
case 2
x(1) = -1/sqrt(3); x(2) = -x(1);
w(1) = 1; w(2) = w(1);
case 3
x(1) = -sqrt(3/5); x(2) = 0; x(3) = -x(1);
w(1) = 5/9; w(2) = 8/9; w(3) = w(1);
case 4
x(1) = -0.861136311594053; x(4) = -x(1);
x(2) = -0.339981043584856; x(3) = -x(2);
w(1) = 0.347854845137454; w(4) = w(1);
w(2) = 0.652145154862546; w(3) = w(2);
case 5
x(1) = -0.906179845938664; x(5) = -x(1);
x(2) = -0.538469310105683; x(4) = -x(2);
x(3) = 0;
w(1) = 0.236926885056189; w(5) = w(1);
w(2) = 0.478628670499366; w(4) = w(2);
w(3) = 0.568888888888889;
case 6
x(1) = -0.932469514203152; x(6) = -x(1);
x(2) = -0.661209386466265; x(5) = -x(2);
x(3) = -0.238619186083197; x(4) = -x(3);
w(1) = 0.171324492379170; w(6) = w(1);
w(2) = 0.360761573048139; w(5) = w(2);
w(3) = 0.467913934572691; w(4) = w(3);
case 7
x(1) = -0.949107912342759; x(7) = -x(1);
x(2) = -0.741531185599394; x(6) = -x(2);
x(3) = -0.405845151377397; x(5) = -x(3);
x(4) = 0;
w(1) = 0.129484966168870; w(7) = w(1);
w(2) = 0.279705391489277; w(6) = w(2);
w(3) = 0.381830050505119; w(5) = w(3);
w(4) = 0.417959183673469;
case 8
x(1) = -0.960289856497536; x(8) = -x(1);
x(2) = -0.796666477413627; x(7) = -x(2);
x(3) = -0.525532409916329; x(6) = -x(3);
x(4) = -0.183434642495650; x(5) = -x(4);
w(1) = 0.101228536290376; w(8) = w(1);
w(2) = 0.222381034453374; w(7) = w(2);
w(3) = 0.313706645877887; w(6) = w(3);
w(4) = 0.362683783378362; w(5) = w(4);
otherwise
error(sprintf('Gauss quadrature with %d nodes not supported',nn));
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -