编程MATLAB程序实现复化梯形和辛普森数值积分精编版

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

实验心得

通过此次实验的操作,我掌握了复合梯形公式和复合辛普森公式,对编程又有了新的突破!

相关文档
最新文档