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