⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 intgausslada.m

📁 数值积分的几种算法
💻 M
字号:
function I = IntGaussLada(f,a,b,n,AK,XK)
if(n<6 && nargin == 4)
    AK = 0;
    XK = 0;
else
    XK1=((b-a)/2)*XK+((a+b)/2);
    I=((b-a)/2)*((2/n/n)*subs(sym(f),findsym(sym(f)),a)+...
    sum(AK.*subs(sym(f),findsym(sym(f)),XK1)));
end

ta = (b-a)/2;
tb = (a+b)/2;
switch n         
    case 2,
        I=ta*0.5*subs(sym(f),findsym(sym(f)),ta*(-1)+tb)+...
            1.5*ta*subs(sym(f),findsym(sym(f)),ta*(1/3)+tb);
        
    case 3,
        I=ta*((2/9)*subs(sym(f),findsym(sym(f)),ta*(-1)+tb)+...
            0.752806*subs(sym(f),findsym(sym(f)),ta*(-0.289898)+tb)+...
            1.024972*subs(sym(f),findsym(sym(f)),ta*0.689898+tb));
        
    case 4,
        I=ta*(0.125*subs(sym(f),findsym(sym(f)),ta*(-1)+tb)+...
            0.657689*subs(sym(f),findsym(sym(f)),-ta*0.575319+tb)+...
            0.776387*subs(sym(f),findsym(sym(f)),ta*0.181066+tb)+...
            0.440925*subs(sym(f),findsym(sym(f)),ta*0.822824+tb));
           
    case 5,
        I=ta*(0.08*subs(sym(f),findsym(sym(f)),ta*(-1)+tb)+...
            0.446207*subs(sym(f),findsym(sym(f)),-ta*0.720480+tb)+...
            0.623653*subs(sym(f),findsym(sym(f)),-ta*0.167181+tb)+...
            0.562712*subs(sym(f),findsym(sym(f)),ta*0.446314+tb)+...
            0.287427*subs(sym(f),findsym(sym(f)),ta*0.885792+tb));     
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -