您好,欢迎访问三七文档
第第四四章章数数值值积积分分主主要要涉涉及及()bafxdx的的数数值值计计算算。由由LLeeiibbnniizz公公式式()()()bafxdxFbFa可可理理论论计计算算。。但但原原函函数数有有时时很很难难求求,,或或可可根根本本不不存存在在。。例例如如::22,sin()bbxaaedxxdx有有时时被被““积积函函数数””就就不不是是一一个个函函数数,,很很复复杂杂的的计计算算结结果果。。§§11机机械械求求积积分分公公式式求求()bafxdx的的数数值值()()()bafxdxfaba左左矩矩形形公公式式()()()bafxdxfbba右右矩矩形形公公式式1()(()())()2bafxdxfafbba梯梯形形公公式式以以上上公公式式都都是是以以直直代代曲曲,,一一般般式式可可写写成成::()[(1)]()bafxdxfabba理理解解为为去去[[aa,,bb]]之之间间某某点点的的值值或或者者()[()(1)()]()bafxdxfafbba理理解解为为按按权权重重取取()()fafb经经常常用用到到的的还还有有ssiimmppssoonn公公式式,,()4(()/2)()()()()666bafafabfbfxdxba可可理理解解为为按按照照权权重重141,,666取取,,(),(),()2abfaffb。也也可可看看作作过过(,()),(,()),(,())22ababafafbfb三三个个点点作作抛抛物物线线::001221012010210122021()xxxxxxxxxxxxpxyyyxxxxxxxxxxxx()()bbaafxdxpxdx核核心心是是进进行行插插值值用用插插值值函函数数代代替替原原积积分分函函数数((插插值值求求积积分分))。。具具体体积积分分时时将将积积分分区区间间分分成成若若干干小小区区间间,,在在每每个个小小区区间间中中应应用用ssiimmppssoonn公公式式。。程程序序::FF((xx))==…………..定定义义函函数数WWRRIITTEE((**,,**))‘‘IINNPPUUTTAA,,BB,,NN’’RREEAADD((**,,**))AA,,BB,,NNHH==((BB--AA))//NNSSUUMM==00..00DDOO110000II==00,,NN--11AA11==AA++HH**IISSUUMM==SSUUMM++HH//66**((FF((AA11))++44**FF((AA11++HH//22))++FF((AA11++HH))))110000CCOONNTTIINNUUEEWWRRIITTEE((**,,**))SSUUMMSSTTOOPPEENNDD§§22变变步步长长积积分分公公式式梯梯形形公公式式辛辛普普森森公公式式精精度度得得到到改改善善,,两两者者都都是是定定步步长长公公式式,,在在实实际际计计算算中中,,步步长长的的选选择择成成为为一一件件困困难难的的事事。。本本节节变变步步长长积积分分。。变变步步长长梯梯形形积积分分在在区区间间[[aa,,bb]]上上使使用用梯梯形形公公式式计计算算()bafxdx,首首先先::步步长长取取,1baN得得::0[()()]2baTfafb第第一一次次,,将将区区间间[[aa,,bb]]二二等等分分,,即即取取步步长长为为()/2,2baN得得::10[()()][()()]4242[()2()()]421[()()]()22221()222baabbaabTfafffbbaabfaffbbabaabfafbfbabaTfa第第二二次次,,将将区区间间[[aa,,bb]]四四等等分分,,即即取取步步长长为为()/4,4baN2212()()43()()42()[()22(3()[()()])2*242()]12442babaTfafafbbbafabafababafafaaT规规律律::第第kk--11次次,,将将区区间间[[aa,,bb]]nn等等分分。。(1)2kN,步步长长为为::()/baN,点点为为::,()/,2()/,3()/,...,()/,aabanabanabananban做做到到第第kk次次,,22nn等等分分。。'22kNN步步长长为为::,()/2baN,点点为为规规律律::双双数数的的点点是是新新加加的的点点((红红色色))。。,2()/2,()/2,3()/2,(21)()/...,,2()/22abanabananbaaabanbannan11,3,5,7,..,211()()222KKKKinbaibaTTfa12111(21)()()222KKKKKnbanbaTTfa我我们们可可以以比比较较KT和和1KT,如如果果差差值值很很小小认认为为精精度度已已够够。。再再减减小小步步长长已已没没多多大大意意义义。。程程序序::F(x)=…….定义函数WRITE(*,*)‘INPUTA,B,N’READ(*,*)A,B,NH=(B-A)/NT0=(B-A)/2.0*(F(A)+F(B))DO100K=1,NTT=0.0DO200N=1,2**(K-1)200TT=TT+F(A+(2.0*N-1.0)/2.0**K*(B-A))T1=T0/2+TT*(B-A)/2**KIF(ABS((T1-T0)/t1).LT.0.00001)GOTO300T0=t1100WRITE(*,*)K,T1STOP300WRITE(*,*)‘THERESULTIS’,T1STOPEND数值微分我们讨论()yfx的导数问题。实际计算及讨论函数在具体某点的导数值。我们自然想到微积分中的导数定义:0000()()'()limhfxhfxfxh用00()()fxhfxh作为0'()fx的近似。理论上这种近似,h越小越好,但实际计算相近的数相减会损失有效数字,实际计算中要注意这些问题。二阶导数的三点公式:21100012221101012221102012211''()()(2)11''()()(2)11''()()(2)yyyyyxyyyhhhhyyyyyxyyyhhhhyyyyyxyyyhhhh精度高一个量级往往利用插值方法先求出插值函数,在对函数求导,用之代替原函数的导数。数值积分我们也曾这样做。
本文标题:第四章数值积分
链接地址:https://www.777doc.com/doc-2169392 .html