
题目 数值积分
班级 数学081班
姓名 潘珊珊
实验目的
用Matlab语言实现梯形求积公式算法和Simpson/cotes求积公式算法,求解一般的数值积分问题。
实验内容
一、梯形求积公式:
程序如下:
function s=trapr1(f,a,b,M)
h=(b-a)/M;
s=0;
for k=1:(M-1)
x=a+h*k;
s=s+feval(f,x);
end
s=h*(feval(f,a)+feval(f,b))/2+h*s;
二、Simpson求积公式算法:
程序如下:
function s=simpr1(f,a,b,M)
h=(b-a)/(2*M);
s1=0;
s2=0;
for k=1:M
x=a+h*(2*k-1);
s1=s1+feval(f,x);
end
for k=1:(M-1)
x=a+h*2*k;
s2=s2+feval(f,x);
end
s=h*(feval(f,a)+feval(f,b)+4*s1+2*s2)/3;
实验结果
一、梯形求积公式:
f=inline('1/(1+x^2)','x')
trapr1(f,0,0.5,10)
ans =
0.4635
二、Simpson求积公式算法:
f=inline('1/(1+x^2)','x')
simor1(f,0,0.5,10)
ans =
0.4636
