实验六数值积分数值分析实验报告Word格式.docx

上传人:b****2 文档编号:3015835 上传时间:2023-05-01 格式:DOCX 页数:8 大小:15.76KB
下载 相关 举报
实验六数值积分数值分析实验报告Word格式.docx_第1页
第1页 / 共8页
实验六数值积分数值分析实验报告Word格式.docx_第2页
第2页 / 共8页
实验六数值积分数值分析实验报告Word格式.docx_第3页
第3页 / 共8页
实验六数值积分数值分析实验报告Word格式.docx_第4页
第4页 / 共8页
实验六数值积分数值分析实验报告Word格式.docx_第5页
第5页 / 共8页
实验六数值积分数值分析实验报告Word格式.docx_第6页
第6页 / 共8页
实验六数值积分数值分析实验报告Word格式.docx_第7页
第7页 / 共8页
实验六数值积分数值分析实验报告Word格式.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实验六数值积分数值分析实验报告Word格式.docx

《实验六数值积分数值分析实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《实验六数值积分数值分析实验报告Word格式.docx(8页珍藏版)》请在冰点文库上搜索。

实验六数值积分数值分析实验报告Word格式.docx

式中,12i_为[1,ii__]的中点,即1212ii__h。

(3)先用梯形公式计算()/2_[()()]iTbafafb,然后,将求积区间(a,b)逐次折半的方法,令区间长度()/2(0,1,2....)ihbai。

计算211/2_

/2_

(_(1/2))nnnkTThfahk,式中2in。

于是,得到辛普生公式22()/3nnnnSTTT。

科特斯求积公式22()/15nnnnCSSS

最后,得到龙贝格求积公式22()/63nnnnRCCC

利用上述各式计算,直到相邻两次的积分结果之差满足精度要求。

三、实验内容利用复化梯形公式,复化辛普生公式和龙贝格数值积分公式计算

221__e_ed和12041_d_的近似值,要求误差为71_102,将计算结果与精度值比较,并对计算结果进行分析。

四、实验程序

#include“stdio.h”#include“math.h”#include“iostream.h”#include“iomanip.h”

double

f1(double_){

return__e_p(_);

}doublef2(double_){

return4/(1+___);

}//.............梯形公式..............................

T(doublea,doubleb,intn){

double_[20__00];

doubleh=(b-a)/n;

for(inti=0;

i<

n;

i++){

_[i]=a+i_h;

}

doublem=0;

for(i=1;

=n-1;

m=m+f1(_[i]);

returnh/2_(f1(a)+2_m+f1(b));

}voidteT

{

inta=1,o=0;

doubleq=T(1,2,a);

doublew=T(1,2,2_a);

while(fabs(w-q)>

0.00000005){

o++;

a=a_2;

q=T(1,2,a);

w=T(1,2,2_a);

printf(“%d

”,o);

printf(“T=%15.10f”,T(1,2,2_a));

}doubleT1(doublea,doubleb,intn){

double_[10000];

i++){

m=m+f2(_[i]);

returnh/2_(f2(a)+2_m+f2(b));

}voidteT1{

intb=1,p=0;

doubles=T1(0,1,b);

doubled=T1(0,1,2_b);

while(fabs(s-d)>

0.00000005){

p++;

b=b_2;

s=T1(0,1,b);

d=T1(0,1,2_b);

printf(“\n%d

”,p);

printf(“T1=%15.10f”,T1(0,1,b));

}//......................辛普生公式........................................

doubleS(doublea,doubleb,intn){

doubles=f1(a)-f1(b);

double_;

_=a;

_=_+h/2;

s=s+4_f1(_);

s=s+2_f1(_);

s=s_h/6;

returns;

}voidteS{

intc=1,l=0;

doubleg=S(1,2,c);

doubleh=S(1,2,2_c);

while(fabs(h-g)>

l++;

c=c_2;

g=S(1,2,c);

h=S(1,2,2_c);

”,l);

printf(“S=%15.10f”,S(1,2,c));

}doubleS1(doublea,doubleb,intn){

doubles=f2(a)-f2(b);

s=s+4_f2(_);

s=s+2_f2(_);

}voidteS1{

intm=1,v=0;

doublej=S1(0,1,m);

doublek=S1(0,1,2_m);

while(fabs(k-j)>

0.00000005){

v++;

m=m_2;

j=S1(0,1,m);

k=S1(0,1,2_m);

”,v);

printf(“S1=%15.10f\n”,S1(0,1,m));

}//.................龙贝格公式...........................

void

L(doublea,doubleb){

doubleh=b-a;

doublet1=(f1(a)+f1(b))_h/2,t2;

intk=1;

doubled=0;

doubler1=0,r2=1;

doublec1,c2;

doubles1=0,_,s2;

while

(1){

if(fabs(r2-r1)<

0.00000005)

break;

s1=0;

_=a+h/2;

while(_<

b){

s1=s1+f1(_);

_=_+h;

t2=t1/2+h/2_s1;

s2=t2+1/3_(t2-t1);

if(k==1){

k=k+1;

h=h/2;

t1=t2;

continue;

c2=s2+1/15_(s2-s1);

if(k==2){

c1=c2;

s1=s2;

r1=d;

r2=c2+1/63_(c2-c1);

if(k==3){

d=r2;

k=1;

printf(“

L=%15.10f\n”,r2);

}voidmain{

teT;

teT1;

teS;

teS1;

L(1,2);

}五、实验结果

六、结果分析

在对积分区间作同样分割或利用同样个数的函数值的条件下,复化辛普生公式比复化梯形公式的计算精度高。

在利用复合求积公式计算积分之前,必须给出适当的步长bahn。

步长太大,精度难以保证;

步长太小,则会导致计算量的增加。

而计算之前给出一个恰当的步长,往往非常困难,因此采用了变步长的方法&

mdash;

&

龙贝格算法。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 书信模板

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2