int_simpsom_composite.asv

来自「基于matlab的数值计算试验程序。equ_direct」· ASV 代码 · 共 25 行

ASV
25
字号
function I=int_simpsom_composite(f,a,b,kmax,epsilon)
%逐次分半simpson
I=4;s2=0;s4=0;s1=feval(f,a)+feval(f,b);
k=1;state=1;
while ((k<=kmax)&(state==1))
      s2=s2+s4;
      s4=0;
      h=(b-a)/2^k;
    for i=1:2^k-1
        s4=s4+feval(f,a+(2*i-1)*h);
    end
    s2
    s4
    I1=(h/3)*(s1+2*s2+4*s4);
    err=abs(I-I1)
    disp('k  I')
    I=I1
    %disp([k,I])
    state=0;
    if err>epsilon
       state=1;
    end
    k=k+1
end
%disp('not convergence')

⌨️ 快捷键说明

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