数值分析实验(二)之数值积分与微分

实验目的

1、用复化梯形公式的自动控制误差算法求积分。
2、Romberg积分算法求积分。
复化梯形公式
sy2_1.m文件

myInt(0,1,100)

fun1.m文件

function f=fun1(x)
if x==0||x==1
    f=1;
else
    f=sin(x)/x;
end

MyInt,m文件

function T=myInt(a,b,n)
h=(b-a)/n;
S=fun1(b)-fun1(a);
x=a;
k=0;
while k~=n
    k=k+1;
    x=x+h/2;
    S=S+4*fun1(x);
    x=x+h/2;
    S=S+2*fun1(x);
end
S=S*h/6;
T=S;

结果求得sin(x)/x在[0,1]上积分为0.9458

Romberg积分
sy2_2.m文件

myInt2(0,1,0.001)

fun1.m文件

function f=fun1(x)
if x==0||x==1
    f=1;
else
    f=sin(x)/x;
end

myInt2.m文件

function T=myInt2(a,b,e)
h=b-a;
T1=h*(fun1(a)+fun1(b))/2;
k=1;
R1=a;
R2=b;
while 1
  S=0;
  x=a+h/2;
  while x

结果求得sin(x)/x在[0,1]上积分为0.9468

你可能感兴趣的:(数值分析)