复化辛普森公式Excel-VBA版
复化梯形公式和复化Simpson公式
数值计算方法上机题目3一、计算定积分的近似值:e2= xe x dx要求:(1)若用复化梯形公式和复化Simpson 公式计算,要求误差限= 110-7,分别利用他们的余项估计对每种算法做出步长的事前估计;(2)分别利用复化梯形公式和复化 Simpson 公式计算定积分;(3)将计算结果与精确解比较,并比较两种算法的计算量。
1.复化梯形公式程序:程序 1(求 f(x)的 n 阶导数:syms xf=x*exp(x)%定义函数f(x)n=input('输入所求导数阶数:')f2=diff(f,x,n)%求f(x)的n阶导数结果1输入n=2f2 =2*exp(x) + x*exp(x)程序 2:clearsyms x %定义自变量xclcf=inline('x*exp(x)','x') %定义函数f(x)=x*exp(x),换函数时只需换该函数表达式即可f2=inline('(2*exp(x) + x*exp(x))','x') %定义f(x)的二阶导数,输入程序1里求出的 f2即可。
f3='-(2*exp(x) + x*exp(x))' %因fminbnd()函数求的是表达式的最小值,且要求表达式带引号,故取负号,以便求最大值e=5*10^(-8) %精度要求值a=1 %积分下限b=2 %积分上限x1=fminbnd(f3,1,2) %求负的二阶导数的最小值点,也就是求二阶导数的最大值点对应的x值for n=2:1000000 %求等分数nRn=-(b-a)/12*((b-a)/n)^2*f2(x1) %计算余项if abs(Rn)<e % 用余项进行判断break % 符合要求时结束endendh=(b-a)/n %求hTn1=0for k=1:n-1 %求连加和xk=a+k*h Tn1=Tn1+f(xk)endTn=h/2*((f(a)+2*Tn1+f(b)))z=exp(2)R=Tn-z %求已知值与计算值的差fprintf('用复化梯形算法计算的结果 Tn=')disp(Tn) fprintf('等分数 n=') disp(n) %输出等分数fprintf('已知值与计算值的误差 R=')disp(R)输出结果显示:用复化梯形算法计算的结果Tn= 7.3891等分数n=7019已知值与计算值的误差R= 2.8300e-0082.Simpson 公式程序:程序 1 (求 f(x)的 n 阶导数):syms xf=x*exp(x)%定义函数f(x)n=input('输入所求导数阶数:') f2=diff(f,x,n)%求f(x)的n阶导数结果1输入n=4f2 = 4*exp(x) + x*exp(x)程序 2:clcclearsyms x %定义自变量xf=inline('x*exp(x)','x') %定义函数f(x)=x*exp(x),换函数时只需换该函数表达式即可f2=inline('(4*exp(x) + x*exp(x))','x') %定义f(x)的四阶导数,输入程序1里求出的f2即可f3='-(4*exp(x) + x*exp(x))'% 因 fminbnd ()函数求的是表达式的最小值,且要求表达式带引号,故取负号,一边求最大值e=5*10^(-8)% 精度要求值a=1 %积分下限b=2 %积分上限x1=fminbnd(f3,1,2) 最大值点对应的x值for n=2:1000000% 求负的四阶导数的最小值点,也就是求四阶导数的% 求等分数 nRn=-(b-a)/180*((b-a)/(2*n))^4*f2(x1) %计算余项if abs(Rn)<e break end end h=(b-a)/n% 用余项进行判断% 符合要求时结束%求 hSn1=0Sn2=0 for k=0:n-1xk=a+k*h%求两组连加和xk1=xk+h/2Sn1=Sn1+f(xk1)Sn2=Sn2+f(xk)endSn=h/6*(f(a)+4*Sn1+2*(Sn2-f(a))+f(b)) %因Sn2多加了k=0时的值,故减去f(a) z=exp(2)R=Sn-z %求已知值与计算值的差fprintf('用Simpson公式计算的结果 Sn=')disp(Sn)fprintf('等分数 n=')disp(n)fprintf('已知值与计算值的误差 R=')disp(R)输出结果显示:用Simpson 公式计算的结果Sn= 7.3891等分数n=24已知值与计算值的误差R= 2.7284e-008用复化梯形公式计算的结果为:7.3891,与精确解的误差为:2.8300e-008。
复化梯形公式,复化辛普森公式,复化柯特斯公式
复化梯形公式,复化辛普森公式,复化柯特斯公式
复化梯形公式、复化辛普森公式和复化柯特斯公式都是用来计算定积分的近似值的方法。
1. 复化梯形公式:将积分区间分成若干个小区间,在每个小区间上用梯形面积近似代替该小区间的曲边梯形面积,然后将这些梯形面积相加,得到积分的近似值。
2. 复化辛普森公式:将积分区间分成若干个等分小区间,在每个小区间上用矩形面积近似代替该小区间的曲边梯形面积,然后将这些矩形面积相加,得到积分的近似值。
3. 复化柯特斯公式:将积分区间分成若干个等分小区间,在每个小区间上用切线段长度近似代替该小区间的曲边梯形面积,然后将这些切线段长度相加,得到积分的近似值。
这三种方法都是通过将积分区间分成若干个小区间,然后在每个小区间上用近似方法计算该小区间的曲边梯形面积,最后将这些近似值相加得到积分的近似值。
它们的精度和误差都与分区间的大小有关。
高斯-勒让德积分公式在隧道中线坐标计算中的应用
高斯-勒让德积分公式在隧道中线坐标计算中的应用周小利,钟庆丰,刘清政,刘恒杰(中铁工程装备集团技术服务有限公司,河南郑州 450000)[摘要]地铁隧道施工中需要确保建筑限界,尤其是盾构施工测量中需要控制盾构与隧道设计中线的偏差在允许范围内,因此隧道设计中线坐标的计算尤为重要。
文章采用5节点的高斯-勒让德积分公式进行隧道设计中线坐标计算,能达到优于1mm的精度。
通过Excel VBA编程设计了地铁隧道中线坐标计算程序,以某地铁线路的隧道中线坐标计算为例进行验算。
结果表明,该程序计算快速且精确可靠,在工程中有较好的实用性。
[关键词]地铁线路;隧道中线;高斯-勒让德公式;坐标计算[中图分类号]O241.4 [文献标识码]A [文章编号]1001-554X(2021)-0083-05 Application of Gauss Legendre quadrature formula in calculation oftunnel centerline coordinatesZHOU Xiao-li,ZHONG Qing-feng,LIU Qing-zheng,LIU Heng-jie地铁隧道施工中建筑结构不能侵入限界,需控制隧道施工中实际线路与设计线路的偏差在允许范围内。
地铁隧道通常采用盾构施工,盾构开挖前需要将隧道设计中线坐标导入测量系统中,指导盾构的掘进方向。
因此,隧道设计中线坐标的计算显得尤为重要,关乎着施工中盾构与设计线路的偏差[1]。
地铁隧道线路设计通常采用直线+缓和曲线+圆曲线+缓和曲线+直线连接方式的线型。
传统的计算线路坐标的方法是根据不同的线型采用不同的坐标计算公式,通过级数展开式来计算缓和曲线的坐标[2],计算的精度取决于保留的多项式项数,过程较繁琐。
李孟山等采用积分区间n等分,利用复化辛普森公式推导了适用各种线型的计算通用公式[3],此方法的计算精度取决于n的取值。
李全信采用3~5节点的高斯-勒让德公式进行线路坐标计算,通过数值分析证明了5节点的计算公式适用于各种线型的坐标计算。
公路通用复化辛普森公式匝道点位坐标计算4800源程序
公路通用复化辛普森公式匝道点位坐标计算4800源程序------------------杭浦高速临平互通---------------------本文利用的是计算公路匝道点位坐标的复化辛普森通用公式数学模型,集直线、圆曲线、回旋线通用,占字符内存较小,计算精度不限的程序一、运行变量名称说明:V=1、2分别进入坐标计算、桩号反算K1、K2-------曲线起点、终点里程F0-----------曲线起点方位角R1、R2------曲线起点、终点半径(ρ左-右+,0为直线)X0、Y0-------曲线起点、终点坐标M------------求和累积次数n的2倍(偶数),精度迭代次数K------------曲线待求点里程BP-----------求点左右偏距(左-右+)ANG-------- -求点的右斜交角X、Y---------曲线求得坐标FW-----------待求点的即时切线方位角XF、YF-------为需求桩号的点坐标DL、K+O、LP分别为桩号误差、求得桩号、左右偏距(左-右+)当曲线的设计半径较小时,为保证点位计算精度,M(即程序中n的2倍)的取值可适当的大些。
M为偶数,直线时M=2即可,经计算M=16即可满足半径为60的小半径曲线精度。
二、曲线计算程序名: Prog "CURVE"Defm 4V"V=1 2"Lbl 0:{KLW}Lbl 4Q"OPT:M0AB1C2D3E4FH5G6I7J8CR9"=0=>Prog "M"△Q=1=>Prog "AB"△Q=2=>Prog "C"△Q=3=>Prog "D"△Q=4=>Prog "E"△Q=5=>Prog "FH"△Q=6=>Prog "G"△Q=7=>Prog "I"△Q=8=>Prog "J"△Q=9=>Prog "CR"△A"K1"B"K2"C"F0"D"R1"E"R2"F"X0"G"Y0"D≠0=>I=1/D:≠=>I=D△E≠0=>J=1/E:≠=>J=E△AbsD+AbsE=0=>M=2:≠=>M=16△V=2=>L=0:W=90△KL"BP"W"ANG"N=0:Z[1]=0:Z[2]=0:Z[3]=0:Z[4]=0 进入坐标迭代计算Lbl2N=N+1:H=2(K-A)/M:R=NH/2+A:R=C+180/π*(I+(J-I)/2(B-A)*(R-A))*(R-A)Int(N/2)=N/2=>Z[1]=Z[1]+cosR:Z[2]=Z[2]+sinR:≠=>Z[3]=Z[3]+cosR:Z[4]=Z[4]+ sinR△N=M=>Goto3:≠=>Goto 2Lbl3X=F+H/6*(cosC+4Z[3]+2Z[1]-cosR)+Lcos(R+W)Y=G+H/6*(sinC+4Z[4]+2Z[2]-sinR)+Lsin(R+W)V=2=>Goto 6△X"X="◢Y"Y="◢R"FW"=R-360Intg(R/360◢Goto 0Lbl 6 进入桩号求算Pol(T"XF"-X,U"YF"-YO=Icos(J-RAbsO≤1e-4=>O"DL"◢K=K+O◢O"LP"=Isin(J-R◢{TU}Goto 6:≠=>K=K+O:L=0:Goto 4三、数据文件:线元要素数据文件每行为一个线元段,逐句执行赋值,直至不满足、运行完成。
复合辛普森公式
实验5 复合辛普森公式李涛 201226100108 计自1201一、实验目的● 用复合辛普森公式计算积分dx x ⎰+482cos 1,使误差不超过-410(注意所给积分特点,做出相应的处理后再计算)二、实验步骤 1.算法原理复合辛普森原理:将区间],[b a 划分为n 等分,在每个子区间[]1,+k k x x 上采用辛普森公式,若记,2121h x x k k +=+则得 ● ∑⎰-===1)()(n k badx x f dx x f I● ).()]()(4)([6121f R x f x f x f h n n k k k k +++=∑-=+记● ∑-=+++=11)]()(4)([6n k k k k n x f x f x f h S● ],)()(2)(4)([6101121∑∑-=-=++++=n k n k k k b f x f x f a f h称为复合辛普森求积公式,其余项为● .),(),()2(180)(11)4(4∑-=+∈-=-=n k k k k k n n x x f h h S I f R ηη于是当],[)(4b a C x f ∈时,与复合梯形公式相似有 ● ),(),()2(180)()4(4b a f h a b S I f R n n ∈--=-=ηη 易知误差阶为4h ,收敛性是显然的,实际上,只要],[)(b a C x f ∈则可得到收敛性,即 ● ⎰=∞→ban n dx x f S )(lim此外,由于n S 中求积公系数均为正数,故知辛普森公式计算稳定。
2.算法步骤复合辛普森:首先将区间],[b a 划分为n 等分,在每个子区间[]1,+k k x x 上采用辛普森公式,若记,2121h x x k k +=+则得∑-=+++=1021)]()(4)([6n k k k k n x f x f x f h S ])()(2)(4)([6101121∑∑-=-=++++=n k n k k k b f x f x f a f h算法过程:这里将辛普森公式写为Sn()函数,然后在Solve()函数里依次计算S1,S2,S4,S6.......当相邻的精度小于eps 时退出循环,则S2n 保存结果。
数值分析复化Simpson积分公式和复化梯形积分公式计算积分的通用程序
数值分析第五次程序作业PB09001057 孙琪【问题】分别编写用复化Simpson 积分公式和复化梯形积分公式计算积分的通用程序;用如上程序计算积分: I (f )=∫sin (x )dx 40取节点x i , i =0,…,N,N 为2k ,k =0,1,…,12,并分析误差;简单分析你得到的数据。
【复化Simpson 积分公式】Simpson 法则:∫f (x )dx ≈b −a 6[f (a )+4f (a +b 2)+f (b )]b a 使用偶数个子区间上的复合Simpson 法则:设n 是偶数,x i =a +ih , h =b−a n ,(0≤i ≤n) 则有∫f (x )dx =∫f (x )dx +∫f (x )dx +⋯+∫f (x )dx =∑∫f (x )dx x 2i x 2i−2n 2i=1x n x n−2x 4x 2x 2x 0b a 将Simpson 法则应用于每一个区间,得到复合Simpson 法则:∫f (x )dx ≈h 3b a [f (x 0)+2∑f (x 2i−2)n 2i=2+4∑f (x 2i−1)n 2i=1+f (x n )] 公式的误差项为:−1180(b −a )h 4f (4)(δ) 其中δ∈(a,b)【复化梯形积分公式】梯形法则:对两个节点相应的积分法则称为梯形法则:∫f (x )dx ≈b −a 2b a [f (a )+f (b )] 如果划分区间[a,b]为:a =x 0<x 1<⋯<x n =b那么在每个区间上可应用梯形法则,此时节点未必是等距的,由此得到复合梯形法则:∫f (x )dx =∑∫f (x )dx x i x i−1n i=1b a ≈12∑(x i −x i−1)[f (x i−1)+f (x i )]ni=1 对等间距h=(b-a)/n 及节点x i =a +ih ,复合梯形法则具有形式:∫f (x )dx ≈h 2[f (a )+2∑f (a +ih )n−1i=1+f (b )]b a 误差项为:−112(b −a )h 2f ′′(δ)【算法分析】复合Simpson 法则和复合梯形法则的算法上述描述中都已介绍了,在此不多做叙述。
数值分析63 复化求积公式龙贝格求积公式讲解
只增加了一个分点
1 xk?1/ 2 ? 2 ( xk ? xk?1)
设hn=(b? a)/n, xk=a+kh n (k=0,1,? ,n),在[xk, xk+1] 上用梯形公式得
T1 ?
hn 2
?f
(
xk
)
?
f ? ( xk ? 1 )
? ? ? I ?
b
n?1
f ( x )dx ?
xk ?1 f ( x )dx
a
k?0 xk
?h n?1
I
?
6
[
k?0
f
(
xk
)
?
4
f
( x k ? 1/2
)
?
f ( x k?1 )]
? ? h
n?1
n?1
?
[f 6
(a) ?
4
k?0
f
( x k ? 1/2 ) ?
2
k?1
f
(xk ) ?
f (b)]
f ?(??
k)
Rn (
f
)
?
?
b? a 12
h2
f
??(?
),
? ? [a, b], h ? b ? a .
n
可以看出误差是 h2 阶,且由误差公式得到,当
f(x)? C2[a, b] 时,则有
b
? lim
n? ?
Tn
?
f ( x )dx .
a
即复化梯形公式是 收敛的. 事实上只要 f(x)? C[a, b], 则可得到收敛,因为只要把 Tn改写为
变步长复化辛普森公式计算积分
2. 编写用变步长复化辛普森公式计算积分()ba f x dx ⎰ 的程序。
用上面编写的程序计算下列积分并分析计算结果(1)0cos xdx π⎰ (2)220cos x x dx (3)⎰10dx x程序:function S=bianfuhuasimpson(fx,a,b,eps,M)% 变步长复合simpson 求积公式% 调用方式: S=fuhuasimpson(@fx,a,b,epsilon)% fx -- 求积函数(函数文件)% a, b -- 求积区间% eps -- 计算精度% M--最大允许输出划分数n=1;h=(b-a)/n;T1=h*(feval(fx,a)-feval(fx,b))/2;Hn=h*feval(fx,(a+b)/2);S1=(T1+2*Hn)/3;n=2*n;% 最好与倒数第三行保持一致(变步长)while n<=MT2=(T1+Hn)/2;Hn=0;h=(b-a)/n;for j=1:nx(j)=a+(j-1/2)*h;y(j)=feval(fx,x(j));Hn=Hn+y(j);endHn=h*Hn;S2=(T2+2*Hn)/3;fprintf(' n=%2d S2=%-12.9f S2-S1=%-12.9f\n',n,S2,abs(S2-S1)); if abs(S2-S1)<epsbreak;elseT1=T2;S1=S2;n=2*n;endendS=S2;% 达到下列条件之一,则运算终止:% (1).abs(S2-S1)<eps% (2).下一次的n>M% 输入1:S=bianfuhuasimpson(inline('sqrt(x)*cos(x)'),0,pi,10e-6,2000)% 输入2:S=bianfuhuasimpson(inline('2*x^2*cos(x^2)'),0,sqrt(pi),10e-6,2000) % 输入3:S=bianfuhuasimpson(inline('sqrt(x)'),0,1,10e-6,2000)输出结果:(1)S=bianfuhuasimpson(inline('sqrt(x)*cos(x)'),0,pi,10e-6,2000)n= 2 S2=-0.016369112 S2-S1=0.944423778n= 4 S2=-0.450266122 S2-S1=0.433897010n= 8 S2=-0.669839370 S2-S1=0.219573248n=16 S2=-0.781318443 S2-S1=0.111479074n=32 S2=-0.837710689 S2-S1=0.056392245n=64 S2=-0.866141900 S2-S1=0.028431211n=128 S2=-0.880440980 S2-S1=0.014299080n=256 S2=-0.887620063 S2-S1=0.007179083n=512 S2=-0.891220052 S2-S1=0.003599989n=1024 S2=-0.893023740 S2-S1=0.001803689S =-0.8930(2)S=bianfuhuasimpson(inline('2*x^2*cos(x^2)'),0,sqrt(pi),10e-6,2000)n= 2 S2=1.076354541 S2-S1=2.092222287n= 4 S2=0.039359358 S2-S1=1.036995183n= 8 S2=-0.430456535 S2-S1=0.469815894n=16 S2=-0.662796649 S2-S1=0.232340113n=32 S2=-0.778823323 S2-S1=0.116026674n=64 S2=-0.836827971 S2-S1=0.058004648n=128 S2=-0.865829756 S2-S1=0.029001785n=256 S2=-0.880330615 S2-S1=0.014500859n=512 S2=-0.887581042 S2-S1=0.007250427n=1024 S2=-0.891206256 S2-S1=0.003625214S =-0.8912(3)S=bianfuhuasimpson(inline('sqrt(x)'),0,1,10e-6,2000) n= 2 S2=0.489859598 S2-S1=0.185121744n= 4 S2=0.579745947 S2-S1=0.089886349n= 8 S2=0.623731522 S2-S1=0.043985575n=16 S2=0.645384849 S2-S1=0.021653327 n=32 S2=0.656091436 S2-S1=0.010706587 n=64 S2=0.661402273 S2-S1=0.005310836 n=128 S2=0.664042680 S2-S1=0.002640407 n=256 S2=0.665357576 S2-S1=0.001314896 n=512 S2=0.666013147 S2-S1=0.000655572 n=1024 S2=0.666340270 S2-S1=0.000327122S =0.6663。
辛普森求积公式
摘要在工程实验与研究中,实际工作中,变量间未必都有线性关系,如服药后血药浓度与时间的关系;疾病疗效与疗程长短的关系;毒物剂量与致死率的关系等常呈曲线关系。
曲线拟合是指选择适当的曲线类型来拟合观测数据,并用拟合的曲线方程分析两变量间的关系.可以说,曲线拟合模型与我们的生活生产密切相关.本课题着重介绍曲线拟合模型与其应用,其中包括它的基本思想、模型的建立、以与具体应用.为了更好的了解曲线拟合模型,可以将它分为线性与非线性模型,在模型建立的基础上我们可以用最小二乘法来解决一些我们日常所应用的问题.关键词曲线拟合;线性与非线性模型;最小二乘发目录引言 (1)第一章曲线拟合 (2)§1.1 基本思想与基本概念 (2)§1.1.1 方法思想 (2)§1.1.2几个基本概念 (2)§1.2辛普森算法基本定义与其应用 (4)§1.2.1辛普森求积公式的定义 (4)§1.2.2辛普森求积公式的几何意义 (5)§1.2.3辛普森求积公式的代数精度与其余项 (5)§1.2.4辛普森公式的应用 (6)第二章辛普森求积公式的拓展与其应用 (7)§2.1 复化辛普森求积公式 (7)§2.1.1问题的提出 (7)§2.1.2复化辛普森公式与其分析 (7)§2.1.3复化辛普森公式计算流程图 (8)§2.1.4复化辛普森公式的应用 (9)§2.2 变步长辛普森求积公式 (10)§2.2.1变步长辛普森求积公式的导出过程 (10)§2.2.2变步长辛普森求积公式的加速过程 (12)§2.2.3变步长辛普森求积公式的算法流程图 (13)§2.2.4变步长辛普森公式算法程序代码 (14)§2.2.5变步长辛普森求积公式的应用 (14)§2.2.6小结 (14)§2.2.7数值求积公式在实际工程中的应用 (14)参考文献 (16)附录A (17)附录B (18)附录C (21)引言辛普森是英国数学家.1710年8月20日生于波士沃希;1761年5月14日卒于波士沃希.在定积分近似计算中,以他的姓来命名的“辛普森公式”,虽早在他之前牛顿的学生柯特斯(Cotes)和斯特林就已经得出了(包括一些更高阶的近似公式),但真正广泛地为人所知并加以应用,则是1743年辛普森重新发现之后的事了.辛普森的工作使牛顿的微积分学说得到了进一步完善.在我们的日常生活中计算积分与我们的生活生产密切相关.所以掌握数值积分方法是学生储备知识能量的武器.数值积分的一个基本的计算策略,用易于积分的简单函数来逼近曲线)y .f(x 简单曲线下面的面积近似等于)f下面的面积.如果涉与初等函数的积分找不到其(x他由初等函数构成的解析表达式,或者只在一些离散的x点上知道函数的值,在多数情况下,被积函数的原函数很难用初等函数表达出来,因此能够借助微积分学的牛顿-莱布尼兹公式计算定积分的机会是不多的.那么就必须对定积分进行数值逼近.数值积分实现是将整个闭区间]f进行(x,[ba划分为N个小段,在每个小段上对)低阶分段多项式逼近.对每个小段上的逼近多项式积分时,就得到基本公式.基本公式只涉与足够多的))f(xx对来定义分段多项式的某一段,将此公式应用到N个小段并,(把结果相加得到复合公式,或称为扩展公式. 在一个小段中节点的位置和数目决定了基本公式的很多重要特性.当节点均匀分布时,所有的积分公式称为牛顿—柯特斯公式.例如,梯形、辛普森、柯特斯求积公式等.经典辛普森求积公式来源于Lagrange插值多项式的应用,它的代数精度高达3阶,其形变后的代数精度高达4阶,且二者都具有良好的稳定性与收敛性,从而提高了计算效率与准确度,是定积分近似计算常使用的方法,一直是理工科大学生必修的内容. 下面将给出具体辛普森求积公式的具体思想以与其算法程序设计并给出将其拓展后在实际工程问题中的应用.第一章 辛普森求积公式的理论实际问题当中常常需要计算积分,有些数值方法,如微分方程和积分方程的求解,也都和积分计算相联系.依据人们所熟知的微积分基本定理,对积分dx x f I ba ⎰=)(只要找到被积函数)(x f 的原函数)(X F ,便有下列牛顿-莱布尼茨公式:⎰-=b a a F b F dx x f )()()(,但实际计算dx x f ba ⎰)(往往遇到一些困难,如: 1))(x f 的原函数不能用初等函数表示,故不能用牛顿-莱布尼茨公式计算.2) 虽然找到了)(x f 的原函数, 但因表达式过于复杂而不便应用牛顿-莱布尼茨公式.3) )(x f 在许多实际问题中是以列表函数的形式给出, 即仅仅知道其在一些节点处的函数值, 牛顿-莱布尼茨公式也不能直接运用,因此有必要研究积分的数值计算问题,数值积分是解决上述困难的一种有效方法.§1.1基本思想与基本概念§1.1.1 方法思想由定积分中值定理:b a a b f dx x f I b a ≤≤-==⎰ξξ),)(()(可知: 积分可以通过被积函数在ξ处的值得到. 由于积分中值定理仅仅告诉我们ξ在一定条件下是存在的, 但并没有给出确定ξ的方法. 一个很自然的想法就是利用被积函数)(x f 在节点b x x x x a n =≤≤≤= 210处函数值的加权平均来替代(近似))(ξf , 按此思想有)()(0i ni i b a x f A dx x f ∑⎰=≈ (1-1) 这就是数值求积的思想(有效地解决了本章开始提出的问题),权因子i A 和节点i x n i ,,2,1,0 =的不同确定方法就对应不同的数值求积公式.§1.1.2 几个基本概念定义1.1 称形如(1-1)式的求积公式为机械求积公式,其中i A 仅节点的选择与)(x f 无关,b x x x x a n =≤≤≤= 210称为求积节点,i A (n i ,,2,1,0 =)称为求积系数.定义1.2 如果某个求积公式对于次数不超过m 的多项式均能准确地成立,而对于1+m 次多项式就不准确成立, 则称该求积公式具有m 次代数精度(或代数精确度).注1.1 a) m 越大近似程度越高,标志着使函数准确成立的“个数”越多,但代数精度不是唯一衡量标准.b) 若机械求积公式的代数精度0≥m ,则有a b A ni i -=∑=0.c) 若机械求积公式的代数精度为m ,即当m x x x f ,,1)(=时,由(1.1)式可得,对任意次数不超过m 的k 次多项式m k x P k ≤),(有)()(0i k ni i b a k x P A dx x P ∑⎰=≡. d) 代精度的高低, 从侧面反映求积公式的精度高低.定义1.3 称求积公式∑==nk k k n x f A I 0)(为插值型求积公式,式中求积系数k A 通过插值基函数.,1,0)())(()()())(()()(110110n k x x x x x x x x x x x x x x x x x l n k k k k k k n k k k =--------=+-+- 积分求得,即 .,,1,0,)(n k dx x l A b a k k ==⎰ (1-2)定理1.1 插值型求积公式的代数精度至少为n 次.定义1.4 若节点将被积区间等分成n 等分, 即.,2,1,0,n i i na b a x i =-+=则相应的插值求积公式称为Newton-Cotes (牛顿-柯特斯)求积公式. 即等距节点情形下的插值求积公式称为牛顿-柯特斯公式, 相应的求积系数称为Cotes 系数. 常见的几个简单求积公式( Newton-Cotes 公式),如表1-1所示:表1-1 几种简单N-C 求积公式总结表 n 名称形式 1=n 梯形求积公式)]()([2)(b f a f a b T dx x f b a +-=≈⎰ 2=n 辛普森求积公式 )]()2(4)([6)(b f b a f a f a b S dx x f ba +++-=≈⎰4=n 柯特斯求积公式 )](7)(32)(12)(32)(7[90)(321b f x f x f x f a f a b C dx x f b a ++++-=≈⎰其中.1,,1,,-=-=+=n k na b h kh a x k 注1.2 a )8≥n 时,N-C 公式出现数值不稳定.b )n 为偶数时,N-C 公式的代数精度至少为1+n 次,n 为奇数时,N-C 公式的代数精度至少为n 次.定义1.5 截断误差: 由(1-3) 当1=n 时可得梯形求积公式的截断误差T R],[)(,],[,)(12)("))((2)("))((!2)("23b a C x f b a a b f dx b x a x f dx b x a x f T I R b ab a T ∈∈--=--=--=-=⎰⎰ηηηξ 类似的,可得当2=n ,4=n 时的截断误差注1.3 从截断误差公式可知,当区间长度a b -较大时,求积公式误差较大.§1.2辛普森算法基本定义与其应用§1.2.1 辛普森求积公式的定义设计积分区间],[b a 划分为n 等份,步长na b -,选取等距节点kh a x k +=构造出的插值型求积公式)()()(k n k n x f c a b I -=为牛顿—柯特斯(Newton-Cotes )公式,式中)(n k c 称为柯特斯系数. 根据插值型求积公式系数(1-2),引进变换th a x +=,则有⎰∏⎰∏≠=-≠=---=---=n kj j kn n n k j j n k dt j t n k n nk dt j k j t a b h c 0000)()()!(!)1( 当2=n 时,由上式有61)2)(1(4120)2(0=--=⎰dt t t c dx x n f x f A dx x f f R f I f I b an n i n i i b a n n )()!1()()()(][][][1)1(0⎰∑⎰++=+=-==-ωξ64)1(2120)2(1=--=⎰dt t t c 61)1(4120)2(2=-=⎰dt t t c 则相应的求积公式是辛普森求积公式:)]()2()([6)(b f b a f a f a b dx x f s b a ++-==⎰ (1-4) §1.2.2辛普森求积公式的几何意义辛普森公式的几何意义就是用通过A,B,C 三点的抛物线)(x L y =代替)(x f y =所得曲边梯形面积,如图1.1所示.§1.2.3辛普森求积公式的代数精度与其余项由N-C 公式的特点知,当n 为偶数时N-C 公式的代数精度至少为1+n 次,由于Simpson 求积公式为2=n 时的N-C 公式,故它的代数精度至少为3次,即3≥m将4)(x x f =代入Simpson 公式(1-4)左边5554a b dx x b a -==⎰右边≠+++-=))2(4(6444b b a a a b 左边 由此可知4)(x x f =使得Simpson 求积公式不准确成立,所以3=m 即Simpson 公式代数精度为3次由N-C 公式的余项公式(1-3)知,当2=n 时可得辛普森求积公式的截断误差y xO0 )(x L y =a 2b a + b A BC)(x f y =图1.1 辛普森求积公式的几何意义图],[)(],,[),()2(1804)4(4b a C x f b a f a b a b R s ∈∈---=ηη (1-5) §1.2.4辛普森公式的应用例1.1 用辛普森求积公式计算积分dx x x ⎰+1024. 由积分形式可知 2,1,0===n b a用辛普森公式计算有下式)]1()21(4)0([614102f f f dx x x s ++=+=⎰ 其中24)(x x x f +=. 计算流程图C 语言程序代码与其运算结果详见附录A分析附录A 可知111765.04102=+⎰dx x x开始定义函数f (x )输入n ,a ,b 的值计算h=(b-a )/n调用函数f (x ),计算s 的值输出s 的值结束图1.2 例1.1流程图第二章 辛普森求积公式的拓展与其应用为了提高精度,通常在实际应用中往往采用将积分区间划分成若干个小区间,在各小区间上采用低次的求积公式,如:梯形公式或辛普森公式,然后再利用积分的可加性,把各区间上的积分加起来,便得到新的求积公式,这就是复化求积公式,本章重点介绍复化辛普森求积公式.§2.1 复化辛普森求积公式§2.1.1问题的提出由截断误差可知,当区间长度a b -较大时,Newton-Cotes 求积公式的误差较大. 为构造更高精度的数值积分公式,可以采用分段低次多项式替代整体高次多项式,为此,利用积分关于区间具有可加性,将],[b a 区间上的积分,分成若干小区间上的积分,以此来减少积分区间长度引起的误差.这就引用了复化求积公式. 其基本思想是:先把积分区间分成一些长度较小的子区间,在每个子区间上使用低阶的牛顿-柯特斯公式,即利用n a b h ih a x dx x f dx x f i n i x x b a i i -=+==∑⎰⎰=-,,)()(11 并把小区间n i x x i i ,,2,1],,[1 =-上的积分dx x f ii x x ⎰-1)(用前面的方法近似求得,由此即可得到相应的复化求积公式. 最常用的是复化梯形公式和复化辛普森公式,下面学习辛普森求积公式.§2.1.2复化辛普森公式与其分析定义 2.1 将小区间n i x x i i ,,2,1],[1 =-上的积分分别用辛普森公式计算,即可得到复化辛普森公式n n i i n i i i i i b a ni S b f x f x f a f h x f x f x f h dx x f =+++=++≈∑∑⎰∑=--=--=)]()(4)(2)([6)]()(4)([6)(111112121 其中221h x x i i ==-. 另一种定义形式为:用分段二次插值函数代替,记1,2,1,0,2-==m k m n 在第k 段的两个小区间上,用三个结点))(,()),(,()),(,(2222121222++++k k k k k k x f x x f x x f x 作二次插值函数)(x s k ,然后积分,求m 段之和可得整个区间上的近似积分mab h x f x f x f x f hs m k k m k k m n 2))(2)(4)()((3112101220-=+++=∑∑-=-=+ 称该求积公式为复化辛普森求积公式(抛物线公式).定理2.1 若],,[)(4b a C x f ∈则复化辛普森公式的截断误差为b a f h a b S dx x f n b a≤≤--=-⎰ξξ),()2(180)()()4(4 且0)],()([)21(1801)("'"')4(4→-→-⎰h b f a f h S dx x f ban. 注 2.1 从误差公式可以看出当],[)(4b a C x f ∈时,n S 比n T 2的精度一般要高,但他们的计算量几乎一样.注2.2 ○1nS 属于机械型求积公式,但不属于插值型、也不属于N-C 求积公式. ○2n S 的代数精度为4次,具有稳定性和收敛性即][f I S n→(∞→n 或∞→h ).§2.1.3复化辛普森公式计算流程图为了减少计算工作量,优化程序设计,将复化辛普森公式nni i n i i i i i b a n i S b f x f x f a f hx f x f x f hdx x f =+++=++≈∑∑⎰∑=--=--=)]()(4)(2)([6)]()(4)([6)(111112121改写为])}2(])12([2{)]()([5.0[3}])12([2)2()]()([5.0{3}])12([4)2(2)()({61111111∑∑∑∑∑==-=-=-++-++--=-+++++-=-+++++-=n i n i n i n i ni n ih a f h i a f b f a f n a b h i a f ih a f b f a f n a b h i a f ih a f b f a f a b S 则于此相对应的辛普森流程图为:§2.1.4 复化辛普森公式的应用例2.1 用复化辛普森公式计算正弦积分的近似值.分析该积分可知,sin )(dx xxx f =0=a ,1=b 则 125.081==-=n a b h 为步长C 语言程序代码与其运算结果详见附录B 由此可知94608.04=S开始输入A,B,NH=(B-A )/(2*N )S=0.5*(F (A )- F (B )),调用函数FS=S+2*F[A+(2*I-1*H )]+(F (A+2*I*H )),调用函数FS=(B-A )/(3*N )S输出S结束I=1,N定义函数F++I8sin 10==⎰n dxx xS n 图2.1 复化辛普森算法流程图例2.2 用复化辛普森公式计算定积分84102=+⎰n dx x x. 分析该积分可知24)(x x x f +=,0=a ,1=b 则125.081==-=n a b h 为步长 C 语言程序代码与其运算结果详见附录B. 由此可知11157.04=S在利用插值型求积公式求积分时,为了提高精度有两种途径.一是提高积分区间上的插值多项式的阶数,从而也就提高了求积的阶数.但是,由于插值多项式的阶数越高,其逼近性质未必好(即精度未必能提高),因此,牛顿-柯特斯公式的阶数越高,其积分精度也未必越高,工程上一般只作到六阶牛顿-柯特斯公式(即龙贝格公式)为止.二是采用复化公式,尽量减小每个求积小区间的长度.在实际应用时,往往将两种方法混合使用,以便提高求积的精度.§2.2 变步长辛普森求积公式在数值积分中,精度是一个很重要的问题,如果误差太大,就没有实际意义.为了提高精度,通过需要在复化求积公式中尽量减少各细分小区间的长度,即减少步长h .显然,如果步长h 取得太大,则精度就难以保证.但是,如果步长取得太小,则计算工作量就随之增大,并且,由于项数增加,其误差积累也就增大.因此,在采用复化公式求积时,关键的问题是合理地选择步长(即合理选择对整个积分区间的细分数),以便既能满足精度要求,又不至于引起过多的误差积累和过大的计算工作量.在实际计算过程中,通常采用变步长的求积法.§2.2.1变步长辛普森求积公式的导出过程变步长辛普森求积公式是建立在变步长梯形公式的基础上,同时它又是龙贝格算法导出的中间过程,我们知道, 若被积函数具有一定的光滑性, 则增加节点可以降低复化求积公式的截断误差.这里需要解决的问题是增加节点后的复化求积方法能否充分利用已有的计算工作量. 譬如: 若将n T 作为⎰=ba dx x f I )(的近似精度不够, 需减少步长(增加节点数)计算相应的m T 来近似I , 当然我们想要充分利用已经求得的n T .为此, 设区间n b a ],[等分后, 利用复化梯形公式已经求得n T 这一结果, 为了得到精度更高的数值结果, 我们将原有的步长折半, 即把区间],[b a 分为n 2等分, 然后应用复化梯形公式求得n T 2.下面将会看到这样既提高了精度, 又能充分利用已经求得的n T .事实上, 我们可以建立n T 与n T 2的下述递推关系. 设nab h x f x f h T n i i i n -=+=∑-=+,)]()([211 则∑∑∑∑-=+-=+-=+++-=+=++=++=1101011102)(221)(2)]()([4)]()(2)([4212121n i i n n k k n k k k i k k n h n x f h T x f h x f x f h x f x f x f hT其中na b x x h k k -=-=-1 即,∑-=+=12221n i n n h T T 新增分点的函数值注2.3 由上述公式可知在n T 的基础上计算n T 2只需调用n 次函数即可,最大限度地节省了n T 2的计算量.加速公式的导出:由前面的误差分析,我们可以得到复化梯形公式n T 的截断误差为2)("12h f ab ξ--,即 2)("12h f ab T I n ξ--=- 类似根据复化梯形公式n T 2的截断误差为2)2)(("12hf a b η--,有 22)2)(("12hf a b T I n η-≈-两式相比可得412≈-n T I , 其中dx x f f I I b a ⎰==)()(即)(3122n n n T T T I -≈- (2-1)注2.4 ○1公式(2-1)说明n T 2的误差可以近似地由n T 2与n T 表现, 这样就给出了复化梯形公式估计误差的事后估计法.○2由公式(2-1)还可以得到校正公式(加速公式) n n n n n T T T T T I 3134)(31222-=-+≈数值实验结果表明,在一定条件下,上式计算出来的值比原来的n T 2好得多,上述公式称为梯形公式的加速公式.梯形求积公式的实质:假设已知n T ,n T 2,则nk k k n k k k n k n k k k k k n n S x f x f x f hx f x f hx f x f hx f x f h T T =++=+-+++=-=+-=+-=-=+++∑∑∑)]()(4)([6)]()([231)]}()([4)]()([4{3431341101101012212121即n n n T T S 31342-=上式表明n T 与n T 2通过上面公式处理后,可得精度更高的n S .即复化辛普森公式,这也是加速的实质.§2.2.2变步长辛普森求积公式的加速过程类似梯形加速公式的推导,由n S 的截断误差公式(1-5)可得][1512n n n S S S I -≈-即n n n n n S S S S S I 1511516][151222-=-+≈ 注2.5 ○1上述两个公式分别称为复化辛普森公式估计误差的事后估计公式与复化辛普森公式的加速公式.○2类似地可以证明: n n n S S C 15115162-=○3在求得n C ,nC 2的基础上,可以进一步加速得:龙贝格公式n n n C C R 63163642-=§2.2.3变步长辛普森求积公式的算法流程图开始 N=1,H=B-AIP=F(A)+F(B) FIC=0,X=A-H/2K=1,NX=X+HIC=IC+F(x) FI2=(4*IC+IP)*H/6N=1|I2-I|<ESPI1<=I2,IP=IP+2*ICN=N+NH=0.5*HYNNI=2I输出结束图2.2 变步长辛普森算法流程图§2.2.4变步长辛普森公式算法程序代码详见附录C§2.2.5变步长辛普森求积公式的应用例2.3 用变步长辛普森求积公式计算定积分dx x x⎰+1024取000001.0=ε.C 语言程序代码与其运算结果详见附录C. 分析结果可知111572.04102=+⎰dx x x§2.2.6小结通过分析例1.1、2.2、2.3有下表2-1表2-1 三种算法比较 算法名称 代数精度积分形式计算结果 余项辛普森求积 3dx x x⎰+10240.111765111765.0)4ln 5(ln 21-- 复化辛普森求积 4dx x x⎰+10240.1115711157.0)4ln 5(ln 21-- 变步长辛普森求积dx x x⎰+10240.111572111572.0)4ln 5(ln 21-- 由表2-1可以得出用变步长辛普森求积公式求得的结果偏离准确值的程度最小,即其计算结果最接近准确值,其次是复化辛普森求积方法,辛普森求积方法较前述两种方法误差较大.但三种算法均具有良好的稳定性与收敛性,从而提高了计算效率与准确度.在工程技术中有较为广泛的应用.§2.2.7 数值求积公式在实际工程中的应用例 2.4人造地球卫星轨道可视为平面上的椭圆。
复化辛普森公式应用
在公路中线坐标计算中,我们通常采用切线支距公式来计算曲线上各点的坐标。
但当在不同的曲线上计算时就需用不同的计算公式,这为计算也带来不便。
在设有缓和曲线的圆曲线半径较小或是卵形曲线上的坐标计算时,如公式选用不当就会出现较大计算误差,即便是能对切线支距公式进行多项展开,也会增加计算的难度。
而用复化辛卜生公式不仅能解决不同曲线线型或直线上的坐标计算问题,而且用复化辛卜生公式计算完全是可逆的(即:可顺前进方向也可逆向计算),尤其在计算第二缓和曲线和卵形曲线时显得尤为方便。
用辛卜生公式计算坐标的精度可由人为或程序自行判断,其计算结果完全能保证坐标计算的精度要求。
因此,可以说复化辛卜生公式是一个计算公路中线坐标的万能公式。
下面本人就该公式在公路中线坐标计算中的具体应用进行实例解析。
一、复化辛卜生公式式中:H=(Z i-Z A)/n(公式2)(公式3)Zi —待求点桩号Z A—曲线元起点桩号Z B—曲线元终点桩号ρA—曲线元起点曲率ρB—曲线元终点曲率a i曲线上任意一点处切线方位角的计算方法有以下三种方法:1.利用公式(3)求得曲率代入公式(2)计算2.利用曲线元上已知起点和终点曲率用内插法求得曲率代入公式(2)计算3.利用切线角公式计算二、算例例:已知雅(安)攀(枝花)高速公路西昌西宁立交A匝道一卵形曲线(卵形曲线相关参数见图一,其计算略。
),相关设计数据见下表。
现用辛卜生公式来计算卵形曲线中桩坐标。
图一已知相关设计数据见下表:(一)由+271.881推算Zi=+223.715的坐标,n取2等分用公式(3)、公式(2)计算+247.798处曲线及方位角:ρ+247.798=1÷75+(1÷50-1÷75)(247.798-271.881) ÷(223.715-271.881)=0.01666666666666667a+247.798=71°24’18.5” +(0.016666667+1÷75)(247.798-271.881)×180÷π÷2=50°42’26.37”其它各点依次代入公式计算,结果见下表:切线方位角图示1将计算出的数据代入公式(1)求得+223.715中桩坐标如下:X=9880.438+(271.881-223.715)÷2÷6×(cos71°24’18.5”+4(cos61°37’52.22”+cos38°38’0.96”)+2cos50°42’26.37”+ cos25°24’35.99”)=9910.5975 (设计值:9910.603)Y=10100.904+(223.715-271.881)÷2÷6×(sin71°24’18.5”+4(sin61°37’52.22”+sin38°38’0.96”) +2sin50°42’26.37”+ sin25°24’35.99”)=10136.7945 (设计值:10136.791)(二)由+223.715推算Zi=+271.881的坐标,n取2等分用公式(3)计算+247.798处曲线及方位角:ρ+247.798=1÷50+(1÷75-1÷50)(247.798-223.715)÷(271.881-223.715)=.01666666666666667a+247.798=205°24’33.6”+ (0.016666667+1÷50)(247.798-223.715)×180÷π÷2=230°42’23.98”其它各点依次代入公式计算,结果见下表:切线方位角图示2X=9910.603+(271.881-223.715)÷2÷6×(cos205°24’33.6”+4(cos218°37’58.87”+cos241°37’49.83”)+2cos230°42’23.98”+ cos251°24’16.11”)=9880.4431 (设计值:9880.438)Y=10136.791+(271.881-223.715)÷2÷6×(sin205°24’33.6”+4(sin218°37’58.87”+sin241°37’49.83”)+2sin230°42’23.98”+ sin251°24’16.11”)=10100.9008 (设计值:10100.904)由上可知,利用复化辛卜生公式计算路线坐标时可顺向或逆向计算。
excel vba调用公式
excel vba调用公式(实用版)目录1.Excel VBA 简介2.Excel VBA 调用公式的方法3.Excel VBA 调用公式的实例4.Excel VBA 调用公式的优点和应用场景正文【Excel VBA 简介】Excel VBA(Visual Basic for Applications)是一种基于 Visual Basic 的编程语言,主要用于开发 Excel 宏和自定义功能。
通过 Excel VBA,用户可以实现一些复杂的功能,如数据分析、自动化操作等。
在 Excel 中,VBA 可以调用公式,使得 VBA 代码可以与 Excel 表格的数据进行交互。
【Excel VBA 调用公式的方法】在 Excel VBA 中,调用公式的方法主要有以下几种:1.使用`Worksheets("Sheet1").Cells(1, 1)`访问单元格的公式2.使用`Evaluate("=A1+B1")`直接计算公式3.使用`Application.WorksheetFunction.Sum(Range("A1","B1"))`调用内置函数【Excel VBA 调用公式的实例】下面是一个简单的 Excel VBA 调用公式的实例:```vbaSub Test()Dim ws As WorksheetDim rng As RangeDim sum As DoubleSet ws = ThisWorkbook.Worksheets("Sheet1")Set rng = ws.Range("A1:B1")sum = Application.WorksheetFunction.Sum(rng)MsgBox "The sum of cells A1 and B1 is: " & sumEnd Sub```【Excel VBA 调用公式的优点和应用场景】Excel VBA 调用公式的优点有:1.可以在 VBA 代码中直接使用 Excel 表格中的公式,方便数据处理和分析。
公路复化辛普森公式主线、匝道通用坐标计算Excel VB宏程序(公共版V17.11)
公路通用复化辛普森公式主线、匝道坐标计算Excel VB宏程序(公共版17.11)公路通用复化辛普森公式匝道坐标计算使用说明1、度分秒设置单元格为自定义格式[h]"°"mm"′"ss.00"″"度分秒输入格式以英文冒号“:”隔开,例如108°35′06.8″可输入108:35:06.8例如356°08′00″可输入356:08或356:08:00例如75°00′00″可输入75:或75:00或75:00:002、程序可以用于各级公路主线或匝道。
R1、R2分别为起点半径、终点半径,取值符号左-右+,直线取0。
R1=R2=0,代表直线段R1=R2≠0,代表圆曲线R1、R2仅其中一个为0,代表一般缓和曲线R1≠R2,且均不为0,代表任意回旋曲线若R1、R2符号相反,将形成S形线3、到中桩的距离取值符号为左-右+4、本程序计算中能自动识别在“断链表”中的断链。
程序中断链的概念:断链A=B,表示A在路线起始方向,B在路线终末点方向。
程序询问K桩号是否位于断链A=B的大桩号方向?“Y”的意思表示:断链A=B点处向路线最末终点前进出现的K桩号。
“N”的意思表示:断链A=B点处向路线最初起点后退出现的K桩号。
因为若A>B,路线中A、B桩号将出现二次。
因此会询问。
若A<B,路线中A、B桩号是唯一的,因此不会询问。
5、程序中有“坐标通用程序”菜单,在EXCEL2003版直接可见,EXCEL2007版在加载项的下一级菜单里。
程序中有按钮,按钮与相应菜单作用相同。
按钮可移动。
下一级菜单里。
数值分析实验报告模板-复化辛普森公式-高斯公式
《数值分析》实验报告姓 名 学 号 班 级 主讲教师指导教师实验日期一、实验名称:利用复化辛普森公式和高斯求积公式方法计算积分二、 实验目的:(1)掌握利用复化辛普森公式和高斯求积公式方法计算积分。
(2)熟悉matlab 的操作。
三、实验内容:1.利用复化辛普森公式计算积分:1、xdx x ln 1⎰2.利用高斯求积公式计算积分:1、xdx x ln 1⎰2、dx四、实验步骤(或记录):1、程序实现(源程序)利用复化辛普森公式计算积分 1.将function y=f(x)y=sqrt(x).*log(x);编入一个m 文件2.将function T_n=F_H_T(a,b,n)h=(b-a)/n; for k=0:nx(k+1)=a+k*h; if x(k+1)==0x(k+1)=10^(-10);endendT_1=h/2*(f(x(1))+f(x(n+1)));for i=2:nF(i)=h*f(x(i));endT_2=sum(F);T_n=T_1+T_2;编入一个m文件3.修改路径,在命令窗口输入S_n=S_P_S(0,1,20)利用高斯求积公式计算积分1、将function s=guassl(a,b,n)h=(b-a)/n;s=0.0;for m=0:(1*n/2-1)s=s+h*(guassf(a+h*((1-1/sqrt(3))+2*m))+guassf(a+h*((1+1/sqrt(3))+2*m))); endsI=int('sin(x)',0,1);c=(I-s)/I;d=vpa(c,10)存入一个m文件2、(1)将function y=guassf(x)y=sqrt(x).*log(x);存入一个m文件(2)将function y=guassf(x)y=sin(x)/(1+x.^2);3、运行结果(1)在命令窗口输入s=guassl(0,1,20)(2)在命令窗口输入s=guassl(0,1,20)4、程序心得:虽然是小小的程序,但也是凝结了自己很大的心血,同时也在这个过程中学到了许多的知识。
复化辛普森公式求解曲线坐标及方位
复化辛普森公式求解曲线坐标及方位示例图:一、以交点法计算线路主点1. 根据线路要素表找到上一交点及下一交点坐标;即Front JD = JD28 ,Next JD = JD29。
2. 使用坐标反算,求出曲线的转向角a = a NextJD – a FrontJD :a FrontJD = arctan(ΔY/ΔX)、(ΔY = Y JD - Y FrontJD 、ΔX = X JD - X FrontJD ),根据坐标增量推算出方位,亦可利用现在计算器使用POL 函数计算,Pol 函数原型为Pol(ΔX,ΔY)、其返回值为a (方位角)及D (距离)、此二变量在普通计算器中存储位置为E 、F 键,4500中在V 、W 键,4850、5800以I 、J 中。
a NextJD = arctan(ΔY/ΔX)、(ΔY = Y NextJD - Y JD 、ΔX = X NextJD –X JD )。
以JD28-1为例:a FrontJD = Pol(4706244.564 - 4707059.407 , 472591.498 - 474414.488) = 245°54´58.4" , a NextJD = Pol(4707553.086 - 4706244.564 , 471847.751 - 472591.498) = 330°23´11.9" , a = a NextJD – a FrontJD = 330°23´11.9" - 245°54´58.4" = 84°28´13.5"。
3. 计算m(切垂距)、p(内移距)、T(切线长)、L(曲线长)此例中Ls1 = Ls2 = 180、故缓和曲线长l 0 = Ls1或Ls24502300345602402R l R l l m +-=、34020268824R l R l p -=m a p R T +⋅+=)2tan()(、0180l Ra L +⋅=π T = 817.78546、L = 1359.43推四大桩号:ZH = JD – T = 78470.66 - 817.78546 = 77662.87453HY = ZH + Ls1 =77662.87453 + 180 =77842.87453YH = HY + (L-2(l 0)) = 78842.30415HZ = YH + Ls2 = 79022.304154. 计算出ZH 点的坐标及方位)sin()cos(a T y Y a T x X JD ZH JD ZH ⋅+=⋅+=),(JD FrontJD JD FrontJD Y Y X X Pol a --=X ZH = 4706578.27917Y ZH = 473338.09511a ZH = 245.916235033773 = 245°54´58.4"二、Simpson 公式X = U + W ( Acos ( G + QEKW ( C + KWD ) ) +Bcos( G+QELW(C + LWD )) + Bcos( G + QEFW(C + FWD ) ) +Acos( G + QEMW ( C+MWD ) ));Y = V + YW( Asin( G + QEKW( C + KWD )) + Bsin(G + QELW(C + LWD))+Bsin(G + QEFW(C + FWD ))+Asin( G + QEMW( C + MWD)));Fa = G + QEW(C + WD);U = 起点X;V = 起点Y ;W = 待计算点至起点的长度;C = 1 / 起点半径;D = (起点半径 – 止点半径) / (2 * 线元总长度 * 起点半径 *止点半径);E = 180/π;A = 0.1739274226B = 0.3260725774;K = 0.0694318442;L = 0.3300094782;F = 1 - L;M = 1 – K;例:求DK77+689.69的坐标及切线方位1. 查要素表得77689.69为ZH 点至HY 点之间,故起点坐标为ZH 点的坐标(U 、V );U =4706578.27917 ,V =473338.09511,起点方位G = 245°54´58.4"2. C = 1 / 起点半径 =1 / 1E45 = 10^-45,D = (1E45– 800) / (2 * 180 * 1E45 *800) =3.472 * 10 ^ -6;3. W = 待求点里程 – 起点里程 = 77689.69 - 77662.87453 = 26.815474. 代入公式得:DK77+689.69坐标x = 4706567.357 ,Y = 473313.6048 ,a = 246°03´33.45"。
辛普森公式
Simpson算法及其推广形式摘要:本文研究了辛普森公式的数值积分的计算方法问题,并且更进一步研究了变步长复化的辛普森公式和二重积分的辛普森公式的问题。
首先是对一维辛普森公式和变步长复化辛普森公式以及二维辛普森公式的推导及其算法,进行误差分析,并且列举了实例。
然后,对辛普森公式进行改进,这里的改进最主要是对辛普森公式的代数精度进行提高,从而使辛普森公式对积分的计算更加精确。
另外,还研究了辛普森公式的推广形式。
最后,在结论的当中列举了一个例子。
关键词:辛普森公式算法改进推广形式二重积分的辛普森公式Abstract:This paper first studies the calculation methods of the numerical integration in simpson formula, and then study of the long-simpsonformula and the double integral simpson formula problem. First, study thealgorithm and derived of one-dimensional simpson formula andstep-change in simpson formula, as well as two-dimensional simpsonformula, and then analysis the error. Finally , list the example. In this ,improve the simpson formula. This improved the most important is toincre ase the simpson formula’s accuracy of algebra. Besides, we study thesimpson formula’s promotion of forms. At the last, we list a example inthe conclusion.Key word:The simpson formula, Algorithm, Improve, Promotion of forms, The simpson formula of the two-dimensional integral.1 引言辛普森公式主要的研究数值积分(numerical integration)的。
三维复化simpson积分
三维复化Simpson积分是利用复化方法求得Simpson公式,其中n为区间分割的子区间数,h为子区间长度,a为积分区间的左端点,b为积分区间的右端点。
具体步骤如下:
1.将积分区间[a, b]均匀地分割成n个小区间,小区间的长度为h=(b-a)/n。
2.在每个小区间的中点处取值,将积分区间[a, b]分成n个小区间,每个小区间的长度为h/2。
3.对每个小区间进行Simpson积分,得到每个小区间的积分值。
4.将所有小区间的积分值相加,得到总积分值。
以上信息仅供参考,如需了解更多信息,请查阅相关书籍或咨询专业人士。
数值分析复化Simpson积分公式和复化梯形积分公式计算积分的通用程序培训讲学
数值分析复化S i m p s o n积分公式和复化梯形积分公式计算积分的通用程序数值分析第五次程序作业PB09001057 孙琪【问题】分别编写用复化Simpson积分公式和复化梯形积分公式计算积分的通用程序;用如上程序计算积分:取节点并分析误差;简单分析你得到的数据。
【复化Simpson积分公式】Simpson法则:使用偶数个子区间上的复合Simpson法则:设n是偶数,则有将Simpson法则应用于每一个区间,得到复合Simpson法则:公式的误差项为:其中δ【复化梯形积分公式】梯形法则:对两个节点相应的积分法则称为梯形法则:如果划分区间[a,b]为:那么在每个区间上可应用梯形法则,此时节点未必是等距的,由此得到复合梯形法则:对等间距h=(b-a)/n及节点,复合梯形法则具有形式:误差项为:【算法分析】复合Simpson法则和复合梯形法则的算法上述描述中都已介绍了,在此不多做叙述。
【实验】通过Mathematica编写程序得到如下结果:1.利用复化Simpson积分公式得:可以看出,当节点数选取越来越多时,误差项越来越小,这从复合的Simpson公式很好看出来,因为在每一段小区间内,都是用Simpson法则去逼近,而每一段的误差都是由函数在该区间内4阶导数值和区间长度的4次方乘积决定的,当每一段小区间越来越小时,相应的每一段小区间内的逼近就会越来越好,从而整体的逼近效果就会越来越好。
2.利用复化梯形积分公式得:可以看出,当节点数选取越来越多时,误差项越来越小,这从复合的梯形公式很好看出来,因为在每一段小区间内,都是用梯形法则去逼近,而每一段的误差都是由函数在该区间内2阶导数值和区间长度的2次方乘积决定的,当每一段小区间越来越小时,相应的每一段小区间内的逼近就会越来越好,从而整体的逼近效果就会越来越好。
【分析】通过对上述两种法则的效果来看,复合Simpson法则的误差要比复合梯形法则收敛到0更快,说明复合Simpson法则逼近到原来的解更快,这主要是因为在每一段小区间内,复合Simpson法则利用得是Simpson法则,复合梯形法则利用得是梯形法则,前者的误差项要比后者的误差项小很多,因此造成了逼近速度的不一样。