第一题.矩阵法,梯形法积分

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

梯形法数值积分

A .算法说明:

梯形法数值积分采用的梯形公式是最简单的数值积分公式,函数()f x 在区间[a,b]上计算梯形法数值积分表达式为:

()[()()]2b a b a f x dx f a f b -≈+⎰ 由于用梯形公式来求积分十分粗糙,误差也比较大,后来改进后提出了复合梯形公式:b a

h n -=,其中,n 为积分区间划分的个数;h 为积分步长。

在MATLAB 中编程实现的复合梯形公式的函数为:Combine Traprl.

功能:复合梯形公式求函数的数值积分。

调用格式:[I,step]=CombineTraprl(f,a,b,eps).

其中,f 为函数名;

a 为积分下限;

b 为积分上限;

eps 为积分精度;

I 为积分值;

Step 为积分划分的区间个数

B .流程图

C.复合梯形公式的原程序代码:

function[I,step]=CombineTraprl(f,a,b,eps)

% 复合梯形公式求函数f在区间[a,b]上的定积分

%函数名:f

%积分下限:a

%积分上限:b

%积分精度:eps

%积分值:I

%积分划分的子区间个数:step

if(nargin==3)

eps=1.0e-4; %默认精度为0.0001

end

n=1;

h=(b-a)/2;

I1=0;

I2=(subs(sym(f),findsym(sym(f)),a)+subs(sym(f),findsym(sym(f)),b))/h;

while abs(I2-I1)>eps

n=n+1

h=(b-a)/n;

I1=I2;

I2=0;

for i=0:n-1 %第年n次的复合梯形公式积分

x=a+h*i; %i=0 和n-1时,分别代表积分区间的左右端点

x1=x+h

I2=I2+(h/2)*(subs(sym(f),findsym(sym(f)),x)+subs(sym(f),findsym(sym(f)),x1));

end

end

I=I2;

step=n;

D.应用举例

复合梯形法求数值积分应用举例,利用复合梯形法计算定积分

dx x

-

4

221

1

流程图

原程序代码:

[q,s]=CombineTraprl('1/(x^2-1)',2,4) %精度为默认的10-4

结果

q=

0.2945

S=

15

[q,s]=CombineTraprl('1/(x^2-1)',2,4,1.0e-6) %精度为10-6

结果:

q=

0.2939

s=

66 所以从复合梯形公式可以得出dx x ⎰-4

221

1≈0.2939 矩形法数值积分

源程序代码

function[I,step]=CombineTraprl(f,a,b,eps)

% 复合矩形公式求函数f 在区间[a,b]上的定积分

%函数名:f

%积分下限:a

%积分上限:b

%积分精度:eps

%积分值:I

%积分划分的子区间个数:step

if(nargin==3)

eps=1.0e-4; %默认精度为10-4

end

n=1;

h=b-a;

I1=0;

I2=(subs(sym(f),findsym(sym(f)),a)+subs(sym(f),findsym(sym(f)),b))/h; while abs(I2-I1)>eps

n=n+1

h=(b-a)/n;

I1=I2;

I2=0;

for i=0:n-1 %第年n 次的复合矩形公式积分

x=a+h*i; %i=0 和n-1时,分别代表积分区间的左右端点 x1=x+h

I2=I2+h*subs(sym(f),findsym(sym(f)),x1);

end

end

I=I2;

step=n;

应用举列:

复合矩形法求数值积分应用举例,利用复合矩形法计算定积分dx x 2

12

流程图

原程序代码:

[q,s]=CombineTraprl('x^2',1,2) %精度为默认的10-4结果:

q=

2.3340

s=

16

相关文档
最新文档