缓和曲线上各种迭代算法及比较
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
缓和曲线各种迭代算法及比较
半只烟(850570455)
关于缓和曲线的直接计算式都是采用近似计算,因而其计算精度和参数有关,不同的参数得到的计算精度是不一样的,那么很自然的会想到,有没有一种计算方法使计算结果达到一给定的精度后才结束过程而和参数无关,答案是肯定的。通常利用程序使用数值计算的迭代方法。下面给出常用的使用迭代原理进行计算的变步长辛普森积分法和高斯-勒让德求积法,至于别的方法,此处不再详述,有兴趣的可参阅数值计算方法方面的资料。
变步长辛普森迭代求积法
变步长辛普森积分法是计算定积分∫)(b
a dx x f S =的经典方法,其计算步骤如下:
(1) 用梯形公式计算[]
2/)()(b f a f h T n +=,其中n=1,h=b-a,且令S n =T n 。
(2) 用变步长梯形法则计算
∑1
2)2/(221n k k n n h x f h T T =++=
用辛普森求积公式计算
3
422n
n n T T S =
若ε≥2n n
S S ,则令h h n n ⇒2
,⇒2转到步骤(2)继续计算;否则结束,S 2n 即为所求的积
分近似值。其中 为事先给定的求积精度。
由于需要对被积函数求值,先给出求解回旋线的函数值的子程序FX ,用于求解回旋线上距起点x 处的X 坐标,求解Y 坐标只需把cos(余弦函数)改成Sin(正弦函数),此处不在给出。
高斯-勒让德迭代求积法
对定积分∫)(b
a dx x f S =的积分变量x 作变换2
2
a
b t a
b x ++
=
,将原积分转化为区间[-1,1]上的积分,即
dt t a
b dt a b t a b f a b dx x f S b
a )(2)22(2)(∫∫∫1
1
1
1=++==
由差值求积公式有
∑∫
1
1
1
)(λ)(n k k k
t dt t ==
其中,k t (k=0,1,2,……,n-1),为区间[-1,1]上的n 个求积结点,且,
dt t A k k )(λ∫1
1
=
∏
1
≠,0)(n k j j j
k
j k t t t t
t A ==
如果n 个结点k t (k=0,1,2,……,n-1)取勒让德多项式
[
]
n
n
n n t
dt d n )1(212
!
在区间[-1,1]上的n 个零点,则上述差值求值公式称为高斯-勒让德求积公式,其代数精度为2n+1。
下表给出了n 从2
高斯-勒让德迭代求积法,程序中选
直接使用积分功能
9860中提供了内置的定积分计算功能,可在程序中直接调用该功能,语法如下:∫),,
x
f
a
(b
(
),
参数
f(x)被积函数,指令固定使用X作为自变量,其它的变量写在函数中,以当前值作为常数。
a,b,积分下限和上限。
功能:实现定积分∫)(b
a
dx x f 的近似值。如(38)用内置积分式计算为:
+++=+++=)
,0)),2/()ρρ(ρα((),0)),2/()ρρ(ρα((∫∫2
2l L X X Sin Y Y l L X X Cos X X A B A A A P A B A A A P
使用X 作为自变量进行积分,但是X 的值不会被改变,积分计算的结果可以赋给变量。计算精度被系统设为10-5,并且不可更改。
曲线元实例计算比较
某实际工程中,有一不完整缓和曲线段,A 点桩号K0+271.881,半径R=75,B 点桩号K0+223.715,半径50。曲线间长48.166。A 点切线方位如图。
1)1.1)、利用复化辛普森公式计算如下(取n=2):
ΔX= 48.166÷2÷6×(cos71°24’18.5”+4(cos61°37’52.22”+cos38°38’0.96”) +2cos50°42’26.37”+ cos25°24’35.99”) =30.15953726
ΔY= 48.166÷2÷6×(sin71°24’18.5”+4(sin61°37’52.22”+sin38°38’0.96”) +2sin50°42’26.37”+ sins25°24’35.99”) =35.89054225
1.2)利用高斯-勒让德5节点求积公式 为简便计算,对参数进行先赋值: 71°24’18.5”->F ,起点方位
-75->R ,起点半径(左偏为-,右偏为+)
-50->M ,.终点半径
48.166->H ,曲线全长
48.166->W ,计算点距起点长
以下是节点系数赋值
0.1184634425->A
0.2393143352->B
1/R->C
(R-M)/(2*RMH)->D
180/π->E
0.2844444444->G
0.046910077->K
0.2307653449->L
ΔX= W(Acos (F+EKW(C+KWD))+Bcos (F+ELW(C+LWD))+
Gcos (F+0.5EW(C+0.5WD))+Bcos (F+E(1-L)W(C+(1-L)WD))+
Acos (F+E(1-K)W(C+(1-K)WD)))
=30.16036838
ΔY= W(Asin (F+EKW(C+KWD))+Bsin(F+ELW(C+LWD))+
Gcos (F+0.5EW(C+0.5WD))+Bsin (F+E(1-L)W(C+(1-L)WD))+
Asin (F+E(1-K)W(C+(1-K)WD)))
=35.88959598
1.3) 变步长辛普森迭代求积法
按示例程序进行计算,取计算精度为0.00001,并修改FX,分别计算X、Y增量输入为:QiDianFangWei=71°24’18.5”
QiDianBanJin=-75
ZhongDianBanJin=-50
HHQX Chang=48.166
JiSuanChang=48.166
计算结果:
ΔX=30.16036819,迭代次数31次
ΔY=35.88959622,迭代次数31次