数值分析龙贝格c语言编程,用C语言编程:龙贝格-数值积分.doc

用C语言编程:龙贝格-数值积分

班级: 信科 学号: ****** 姓名: 成绩数值分析实验报告

实验3 数值积分

3.1 实验目的

通过本实验理解数值积分与微分的基本原理。掌握数值积分中常见的复合求积公式的编程实现。

掌握龙贝格算法的基本思路和迭代步骤;

培养编程与上机调试能力。

3.2 算法描述

3.2.1 龙贝格算法基本思路

先算出他T0(0),从而计算 T0(1)

以此类推,在判断| Tn(0)- Tn-1(0)|

3.2.2 龙贝格算法计算步骤

步骤1:输入区间端点,精度控制值,循环次数,定义函数,取,

步骤2:for to

步骤3:数据积分近似值。

利用Romberg方法计算函数

3.4 实验步骤

3.4.1 代码

#include"iostream.h"

#include"math.h"

#define e 0.00000000000001

double f(double x)

{

double y;

if (x==0)

{

return y=1.0;

}

else y=sin(x)/x;

return y;

}

void romberg(double a,double b)

{

int n=1,k=0;

double h,T2,S2=0,C2=0,R2=0,T1,C1,S1,R1;

h=(b-a)/2;

T2=h*(f(a)+f(b));

while (fabs((R2-R1))>e)

{

R1=R2;

T1=T2;

S1=S2;

C1=C2;

double sum=0;

int i;

for(i=1;i<=n;i++)

{

sum=sum+f(a+(2*i-1)*h);

}

T2=T1/2+sum*h;

S2=(4*T2-T1)/3;

C2=(16*S2-S1)/15;

R2=(64*C2-C1)/63;

n=n*2;

k++;

h=h/2;

}

cout<

}

void main()

{

double a,b;

cout<

cin>>a>>b;

cout<

cout<

cout<

cout<

romberg(a,b);

}

3.4.2 实验结果

3.5 实验体会

*************************************************************************************************************************************

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值