13.5.2 约束条件
有时,约束条件不是自变量,而是由积分变量导出的某个参数,数学形式是:
- H = F( X )
定步长积分生成的一系列数据点可能会跨过终止点,要满足这类终止条件往往需要在终点处进行迭代。例如,积分终点示意图如图13-2所示。
假设计算一个弹头的弹道积分,目标的高程是H0,那么,积分终止条件显然是:
- H = H0
而H来自从弹道积分参数: - H = H( X )
伪码如下: - while( 1 )
- {
- X(t) => Y( t+h )
- if( h < EPS )
- {
- X( t + h ) = Y( t + h );
- t += h;
- break;
- }
-
- if( H(X) < H0 )
- h /= 2.0;
- else{
- X( t+h ) = Y( t+h );
- t = t + h;
- }
- }
代码中的EPS是积分步长的下限。例如,对于速度为1km/s的弹头来说,EPS为10-3s(约1ms)时,造成的误差约为1m,EPS为10-5s(约0.01ms)时,误差约0.01m。对于射程几百km的弹道导弹而言,这点误差可以忽略。【责任编辑:
董书 TEL:(010)68476606】