zoukankan      html  css  js  c++  java
  • 高斯型求积公式 勒让德、拉盖尔、切比雪夫

    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

     

  • 相关阅读:
    css float
    java基础77
    java基础75
    java基础73
    java基础72
    java基础71
    java基础630
    django-模版学习
    Django--- 网页显示时间
    创建一个django项目
  • 原文地址:https://www.cnblogs.com/wander-clouds/p/9949154.html
Copyright © 2011-2022 走看看