一、实验名称:复合梯形求积公式
二、实验目的:
掌握复合梯形求积公式的主要思想,能够利用复合求积公式进行积分的数值估计
三、实验准备:
1、在开始本实验之前,先回顾教科书中关于本节的相关知识;
2、需要一个装有MATLAB 的计算机。
四、实验内容:
对于函数f x =
sin x x [0,1]上的积分
1.计算步长h 。即h=(max(x)-min(x))/(n-1);
2.计算各个结点对应的函数值。即f(1:n)=y(1:n);
3.将第二步所得结果带入复合梯形公式,即
I=(f(1)+2*sum(f(2:n-1))+f(n))*h/2;
4. 计算结果。
六、重要标示符说明
X:函数中的自变量;
Xi:每个节点处的自变量值;
Yi:每个自变量对应的函数值;
h :步长;
max()是取最大值;
min 是取最小值;
sum 是求和函数;
七、源程序:
Clear;
n=9;
x=[0 1 1/4 3/8 1/2 5/8 3/4 7/8 1];
y=[1 0.9973978 0.9896158 0.9767267 0.9588510 0.9361556
0.9088516 0.8771925 0.8414709];
h=(max(x)-min(x))/(n-1);
f(1:n)=y(1:n);
I=(f(1)+2*sum(f(2:n-1))+f(n))*h/2;
disp(I);
一、实验名称:利用复化辛普森公式计算积分
二、实验目的:
(1)掌握利用复化辛普森公式的方法计算积分。
(2)熟悉matlab 的操作,利用辛普森公式求方程 0 =−4/9的积分
三、实验原理:
原理:将区间[a,b]分成N 个子区间
[x(k),x[k+1]](k=0,1,…,N-1),h=(b-a)/N,在每个子区间[x(k),x[k+1]]上使用辛普森公式,可求得结果。
辛普森公式:
n −11
S n = h/6[f x k +f x k+0.5 +f(xk+1)]
k=0
n n −1
=h/6[f a +f b +2 f x k +4 f x k+0.5 ]
k=1k=0
其中x k+0.5是[x k , x k+1]的中点,即x k+0.5=x k +h/2
四、算法步骤
1、输入a,b,h
2、代入辛普森公式求结果
五、程序实现(源程序)
Functions=simpr1(f,a,b,n)
%f是被积函数
%a,b分别为积分的上下限
%n是子区间的总个数
%s是梯形总面积,即所求积分的值
h=(b-a)/(2*n);
s1=0;
s2=0;
for k=1:n
x=a+h*(2*k-1);
s2=s1+feval(‘f,x);
end
s=h*(feval(‘f,a)+feval(‘f,b)+4*s1+2*s2)/3;
输入命令:>>fplot(‘atan(x)’,[0,1]);grid即可看到曲线atan(x),并大致估算出值得位置。
一、实验名称:复合梯形求积公式
二、实验目的:
掌握复合梯形求积公式的主要思想,能够利用复合求积公式进行积分的数值估计
三、实验准备:
1、在开始本实验之前,先回顾教科书中关于本节的相关知识;
2、需要一个装有MATLAB 的计算机。
四、实验内容:
对于函数f x =
sin x x [0,1]上的积分
1.计算步长h 。即h=(max(x)-min(x))/(n-1);
2.计算各个结点对应的函数值。即f(1:n)=y(1:n);
3.将第二步所得结果带入复合梯形公式,即
I=(f(1)+2*sum(f(2:n-1))+f(n))*h/2;
4. 计算结果。
六、重要标示符说明
X:函数中的自变量;
Xi:每个节点处的自变量值;
Yi:每个自变量对应的函数值;
h :步长;
max()是取最大值;
min 是取最小值;
sum 是求和函数;
七、源程序:
Clear;
n=9;
x=[0 1 1/4 3/8 1/2 5/8 3/4 7/8 1];
y=[1 0.9973978 0.9896158 0.9767267 0.9588510 0.9361556
0.9088516 0.8771925 0.8414709];
h=(max(x)-min(x))/(n-1);
f(1:n)=y(1:n);
I=(f(1)+2*sum(f(2:n-1))+f(n))*h/2;
disp(I);
一、实验名称:利用复化辛普森公式计算积分
二、实验目的:
(1)掌握利用复化辛普森公式的方法计算积分。
(2)熟悉matlab 的操作,利用辛普森公式求方程 0 =−4/9的积分
三、实验原理:
原理:将区间[a,b]分成N 个子区间
[x(k),x[k+1]](k=0,1,…,N-1),h=(b-a)/N,在每个子区间[x(k),x[k+1]]上使用辛普森公式,可求得结果。
辛普森公式:
n −11
S n = h/6[f x k +f x k+0.5 +f(xk+1)]
k=0
n n −1
=h/6[f a +f b +2 f x k +4 f x k+0.5 ]
k=1k=0
其中x k+0.5是[x k , x k+1]的中点,即x k+0.5=x k +h/2
四、算法步骤
1、输入a,b,h
2、代入辛普森公式求结果
五、程序实现(源程序)
Functions=simpr1(f,a,b,n)
%f是被积函数
%a,b分别为积分的上下限
%n是子区间的总个数
%s是梯形总面积,即所求积分的值
h=(b-a)/(2*n);
s1=0;
s2=0;
for k=1:n
x=a+h*(2*k-1);
s2=s1+feval(‘f,x);
end
s=h*(feval(‘f,a)+feval(‘f,b)+4*s1+2*s2)/3;
输入命令:>>fplot(‘atan(x)’,[0,1]);grid即可看到曲线atan(x),并大致估算出值得位置。