高斯型求积公式 勒让德、拉盖尔、切比雪夫

Gauss型求积公式

若机械求积公式具有阶代数精度,则称为Gauss型求积公式,而在上关于权函数的次正交多项式的零点就是Gauss型求积公式的Gauss点。

在Gauss型求积公式中,若权函数,区间为,则公式为

                

特别的称为Gauss-Legendre公式。下表列出Gauss-Legendre公式的结点和系数。

           

0

0.0000000

2.0000000

3

±0.8611361

±0.3399810

0.3478548

0.6521452

1

±0.5773503

1.000000

4

±0.9061798

±0.5384693

0.000000

0.2369269

0.4786287

0.5688889

2

±0.7745967

0.000000

0.5555556

0.8888889

5

±0.9324695

±0.6612094

±0.2386192

0.1713245

0.3607618

0.4679139

当积分区间是一般的区间时,只要做变换

                    

可将公式转换为

               

对等式右端积分使用Gauss-Legendre公式即可。

     Matlab代码如下:

function I = IntGaussLegen(f,a,b,n,AK,XK)

%

syms t;

t= findsym(sym(f));

if(n<5 && nargin == 4)

    AK = 0;

    XK = 0;

else                       

    XK1=((b-a)/2)*XK+((a+b)/2);

    I=((b-a)/2)*sum(AK.*subs(sym(f),findsym(f),XK1));

end

 

ta = (b-a)/2;

tb = (a+b)/2;

switch n

    case 0,

        I=2*ta*subs(sym(f),t,tb);

       

    case 1,

        I=ta*(subs(sym(f),t,ta*0.5773503+tb)+...

            subs(sym(f),t,-ta*0.5773503+tb));

       

    case 2,

        I=ta*(0.55555556*subs(sym(f),t,ta*0.7745967+tb)+...

            0.55555556*subs(sym(f),t,-ta*0.7745967+tb)+...

            0.88888889*subs(sym(f),t,tb));

          

    case 3,

        I=ta*(0.3478548*subs(sym(f),t,ta*0.8611363+tb)+...

            0.3478548*subs(sym(f),t,-ta*0.8611363+tb)+...

            0.6521452*subs(sym(f),t,ta*0.3398810+tb) +...

            0.6521452*subs(sym(f),t,-ta*0.3398810+tb));

         

    case 4,

        I=ta*(0.2369269*subs(sym(f),t,ta*0.9061793+tb)+...

            0.2369269*subs(sym(f),t,-ta*0.9061793+tb)+...

            0.4786287*subs(sym(f),t,ta*0.5384693+tb) +...

            0.4786287*subs(sym(f),t,-ta*0.5384693+tb)+...

            0.5688889*subs(sym(f),t,tb));

case 5,

        I=ta*(0.1713245*subs(sym(f),t,ta*0.9324695+tb)+...

            0.1713245*subs(sym(f),t,-ta*0.9324695+tb)+...

            0.3607616*subs(sym(f),t,ta*0.6612094+tb)+...

            0.3607616*subs(sym(f),t,-ta*0.6612094+tb)+...

            0.4679139*subs(sym(f),t,ta*0.2386292+tb)+...

            0.4679139*subs(sym(f),t,-*0.2386292+tb));

end

     若求积区间为,权函数为,则所建立的Gauss型求积公式为

称为Gauss-Chebyshev公式。其中结点为次Chebyshev多项式的零点,公式可记为

                    

 

    若求积区间为,权函数为,则所建立的Gauss型求积公式为

称为Gauss-Lagurre公式。其中结点为次Lagurre多项式的零点,下表列出Gauss-Lagurre公式的结点和系数。

           

0

1.0000000

1.0000000

 

 

0.2635603

1.4134031

0.52175556

0.3986668

1

0.5857864

3.4142135

0.8535533

0.1464466

4

3.5964258

7.0858100

12.6408008

0.0759425

0.00361176

0.00002337

2

0.4157746

2.2942804

6.2899451

0.7110930

0.2785177

0.0103893

5

0.2228466

1.1889321

2.9927363

0.4589647

0.4170008

0.1133734

3

0.3225477

1.7457611

4.5366203

9.3950710

0.6031541

0.3574187

0.0388879

0.0005393

 

5.7751436

9.8374674

15.9828740

0.1039920

0.000261017

0.0000008985

 

 

posted @ 2018-11-12 21:13  夜游星  阅读(6232)  评论(0编辑  收藏  举报