编程MATLAB程序实现复化梯形和辛普森数值积分精编版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数值分析实验报告——
实验目的[1] 掌握复化梯形和辛普森数值积分法的基本原理和方法;
[2] 编程MA TLAB程序实现复化梯形和辛普森数值积分
实验内容与步骤1.编程序实现复化梯形数值积分求积公式
function y=f(x)
y=sqrt(x).*log(x);
function T_n=F_H_T(a,b,n)
h=(b-a)/n;
for k=0:n
x(k+1)=a+k*h;
if x(k+1)==0
x(k+1)=10^(-10);
end
end
T_1=h/2*(f(x(1))+f(x(n+1))); for i=2:n
F(i)=h*f(x(i));
end
T_2=sum(F);
T_n=T_1+T_2;
实验内容与步骤运行结果:
>> T_n=F_H_T(0,1,20)
T_n =
-0.4336
2.编程序实现复化辛普森数值积分求积公式
function y=f(x)
y=sqrt(x).*log(x);
function S_n=S_P_S(a,b,n)
h=(b-a)/n;
for k=0:n
x(k+1)=a+k*h;
x_k(k+1)=x(k+1)+1/2*h;
if (x(k+1)==0)|(x_k(k+1)==0) x(k+1)=10^(-10);
x_k(k+1)=10^(-10);
end
S_1=h/6*(f(x(1))+f(x(n+1))); for i=2:n
F_1(i)=h/3*f(x(i));
end
for j=1:n
F_2(j)=2*h/3*f(x_k(j)); end
S_2=sum(F_1)+sum(F_2);
S_n=S_1+S_2;
运行结果:
>> S_n=S_P_S(0,1,20)
S_n =
-0.4423
实验心得
通过此次实验的操作,我掌握了复合梯形公式和复合辛普森公式,对编程又有了新的突破!