复化梯形公式求积分-推荐下载

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

武汉工程大学

计算机科学与工程学院

《计算方法》实验报告

实验项目复化梯形公式求积分实验类别综合实验

实验目的及要求实验目的:学会用复化梯形公式求函数的积分,并应用该算法于实际问题。实验要求:要求能随意输入被积函数,进行算法设计,打印出误差限例题:求被积函数在0

)

)

(sin

1

/(

12

x

+

公式:复化梯形公式:

设,(i=0,1,…,n-1)

n

a

b

h

-

=h

x

x i

i

=

-

+1

])

(

2

)

(

)

(

[

2

1

1

∑-

=

+

+

+

=

n

i

ih

a

f

b

f

a

f

h

I

误差限:)

(

12

)

(//

1

3

i

n

i

n

n

f

h

T

I

f

∑-

=

-

=

-

=

成绩评定表

类别评分标准分值得分合计

上机表现积极出勤、遵守纪律

主动完成设计任务

30分

程序代码比较规范、基本正确

功能达到实验要求

30分

实验报告及时递交、填写规范

内容完整、体现收获

40分

说明:

评阅教师:

日 期: 年 月 日

实 验 内 容

设计分析

复化数值积分:将区间[a,b]n 等分,取等距节点

n a

b h n i ih a x i -=

=+=,,...,2,1,0,由定积分的区间可加性,有

()()dx

x f dx x f b

a

n

i x x i

i ⎰∑⎰

=-=1

1

在每一个小区间上利用梯形积分公式有

()()()[]i i x x x f x f h

dx x f i

i +≈

-⎰

-11

2

一般记()()()⎥

⎤⎢⎣⎡++=∑-=1122n i i n x f b f a f h T 称做n+1点复化梯形积分公式。

数学公式:

()()()()⎥

⎢⎣⎡++≈∑⎰

-=1

122n i i b

a

x f b f a f h dx x f 算法描述:

Step1:输入a,b 和正整数n ;Step2:置h=(b-a)/n;Step3:F=f(a)+f(b);l=0;

Step4:对j=1,2,…,n 循环执行5;Step5:置x=a+jh; l+=f(x);Step6:置T=h(F+2l)/2Step7:输出T;

程序源代码:

#include#includeusing namespace std;

double f(double x)//求函数的值;

{

return1/(1+pow(sin(x),2.0));

}

void EchelonIntegral(int n)//梯形积分

{

double y=0;

double h=(1.0-0.0)/n;

for(int i=0;i<=n;i++)

{

double a=0.0+i*h,b=0.0+(i+1)*h;

y=y+h*(f(a)+f(b))/2.0;

}

cout<<"对应所求的梯形求积分为"<

double En=0.0;

double mid=(0.0+1.0)/2.0;

double x=mid,p=2*sin(2*x)*sin(2*x)*(1+sin(x)*sin(x))-2*cos(2*x)*pow(1+sin(x)*sin(x),2);

double f2d=p/pow(1+sin(x)*sin(x),2);

for(i=0;i

{

En=En+pow(h,3)/12.0*f2d;

}

cout<<"误差为"<

}

/*void ParabolicIntegral(int n)//抛物线积分

{

double y=0;

double t=(1.0-0.0)/n;

for(int i=0;i

{

double a=0.0+i*t,b=0.0+(i+1)*t;

y=y+t*(f(a)+f(b)+4*f((a+b)/2.0))/6.0;

}

cout<<"对应所求的抛物线求积分为"<

}*/

void main()

{

相关文档
最新文档