63 lines
2.9 KiB
Matlab
63 lines
2.9 KiB
Matlab
function [xt,yt,pt,nbrPoints]=Get2DGuassPoints(order)
|
|
%输入 order-积分多项式阶数
|
|
%输出 xt yt pt nbrPoints
|
|
|
|
if order==1
|
|
nbrPoints=1;
|
|
xt=0.333333333333333;
|
|
yt=0.333333333333333;
|
|
pt=0.5;
|
|
elseif (order==2)||(order==3)
|
|
nbrPoints=4;
|
|
xt=[0.333333333333333,0.6,0.2,0.2]';
|
|
yt=[0.3333333333333333,0.2,0.6,0.2]';
|
|
pt=[-0.28125,.260416666666,.260416666666,.260416666666]';
|
|
elseif order==4
|
|
nbrPoints=7;
|
|
xt=[0.333333333333333,0.797426985353087,0.101286507323456,...
|
|
0.101286507323456,0.470142064105115,0.059715871789770,0.470142064105115]';
|
|
yt=[0.333333333333333,0.101286507323456,0.797426985353087,...
|
|
0.101286507323456,0.059715871789770,0.470142064105115,0.470142064105115]';
|
|
pt=[0.112500000000000,0.062969590272414,0.062969590272414,...
|
|
0.062969590272414,0.066197076394253,0.066197076394253,0.066197076394253]';
|
|
elseif (order==5)||(order==6)
|
|
nbrPoints=12;
|
|
xt=[0.873821971016996,0.063089014491502,0.063089014491502,...
|
|
0.501426509658179,0.249286745170910,0.249286745170910,...
|
|
0.636502499121399,0.310352451033785,0.636502499121399,...
|
|
0.310352451033785,0.053145049844816,0.053145049844816]';
|
|
yt=[0.063089014491502,0.873821971016996,0.063089014491502,...
|
|
0.249286745170910,0.501426509658179,0.249286745170910,...
|
|
0.310352451033785,0.636502499121399,0.053145049844816,...
|
|
0.053145049844816,0.310352451033785,0.636502499121399]';
|
|
pt=[0.025422453185104,0.025422453185104,0.025422453185104,...
|
|
0.058393137863189,0.058393137863189,0.058393137863189,...
|
|
0.041425537809187,0.041425537809187,0.041425537809187,...
|
|
0.041425537809187,0.041425537809187,0.041425537809187 ]';
|
|
elseif order==7
|
|
nbrPoints=16;
|
|
xt=[0.333333333333333,0.081414823414554,0.459292588292723,...
|
|
0.459292588292723,0.658861384496480,0.170569307751760,...
|
|
0.170569307751760,0.898905543365938,0.050547228317031,...
|
|
0.050547228317031,0.008394777409958,0.728492392955404,...
|
|
0.263112829634638,0.008394777409958,0.263112829634638,...
|
|
0.728492392955404]';
|
|
yt=[0.333333333333333,0.459292588292723,0.081414823414554,...
|
|
0.459292588292723,0.170569307751760,0.658861384496480,...
|
|
0.170569307751760,0.050547228317031,0.898905543365938,...
|
|
0.050547228317031,0.728492392955404,0.008394777409958,...
|
|
0.008394777409958,0.263112829634638,0.728492392955404,...
|
|
0.263112829634638]';
|
|
pt=[0.072157803838894,0.047545817133643,0.047545817133643,...
|
|
0.047545817133643,0.051608685267359,0.051608685267359,...
|
|
0.051608685267359,0.016229248811599,0.016229248811599,...
|
|
0.016229248811599,0.013615157087217,0.013615157087217,...
|
|
0.013615157087217,0.013615157087217,0.013615157087217,...
|
|
0.013615157087217]';
|
|
elseif order>7
|
|
[xt,yt,pt,nbrPoints]=GetGuassPoints(7);
|
|
elseif order<1
|
|
[xt,yt,pt,nbrPoints]=GetGuassPoints(1);
|
|
end
|
|
|
|
end |