- 在线时间
- 791 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2017-6-12
- 听众数
- 15
- 收听数
- 0
- 能力
- 120 分
- 体力
- 36467 点
- 威望
- 11 点
- 阅读权限
- 255
- 积分
- 13901
- 相册
- 0
- 日志
- 0
- 记录
- 1
- 帖子
- 616
- 主题
- 542
- 精华
- 12
- 分享
- 0
- 好友
- 225
TA的每日心情 | 开心 2020-11-14 17:15 |
|---|
签到天数: 74 天 [LV.6]常住居民II
 群组: 2019美赛冲刺课程 群组: 站长地区赛培训 群组: 2019考研数学 桃子老师 群组: 2018教师培训(呼伦贝 群组: 2019考研数学 站长系列 |
问题描述:飞机在飞行过程中,能够收到地面上各个监控台发来的关于飞机当前位置的 信息,根据这些信息可以比较精确地确定飞机的位置。如图3所示,VOR 是高频多向导航设备的英文缩写,它能够得到飞机与该设备连线的角度信息;DME 是距离测量装 置的英文缩写,它能够得到飞机与该设备的举例信息。图中飞机接收到来自 3 个 VOR 给出的角度和 1 个 DME 给出的距离(括号内是测量误差限),并已知这 4 种设备的 x, y 坐标(假设飞机和这些设备在同一平面上)。如何根据这些信息精确地确定当前飞机的 位置?
+ ~+ G9 \- w/ x0 K
; j! I/ F+ Q, H( s1 F5 R![]()
2 ?) [# V* P# L* @% X, z O" R, s% m' z* H9 a1 q9 [* `6 N
/ N2 n% i6 H( a: ?9 _$ i( k/ | (1)问题分析 ' B6 ?7 i+ U8 w
1 n; \3 K8 |! L$ }$ D7 L- o 记 4 种设备 VOR1、VOR2、VOR3、DME 的坐标为 (以 km 为单位),i=1,2,3,4 ;VOR1、VOR2、VOR3 测量得到的角度为 (从图中可以看出,按照航空飞行管理的惯例,该角度是从北开始,沿顺时针方向的角度,取值在 之间),角度的误差限为 ;DME 测量得到的距离为 (单位:km),距离的误差限为 4 σ。设飞机当前位置的坐标为 ,则问题就是在表 9 的已知数据下计算 。
2 c( k9 ?+ j3 x {, N6 R9 n0 z
9 z( ]* ^, R) J) G% k5 o: P
2 E9 T0 s' c. `/ m3 D ; {' H8 b5 L7 U, j8 |) R
(2)模型 1 及求解
" W) F+ b) |4 O6 @' f @
5 f5 W- E( B8 v l t0 ]1 x 图中角度 是点 和点 的连线与 y 轴的夹角(以 y 轴正向为基准,顺时针方向夹角为正,而不考虑逆时针方向的夹角),于是角度 的正切 ( 1 )
( X0 \! r! s8 T9 r8 v3 I
# P9 i5 m9 B! ?/ t, [+ R2 k' G1 a对 DME 测量得到的距离,显然有 ( 2 )3 w- u r( W1 Q. p4 k/ ~0 E0 s
: K" ]; A7 e8 U
直接利用上面得到的 4 个等式确定飞机的坐标 y x, ,这是一个求解超定(非线性) 方程组的问题,在最小二乘准则下使计算值与测量值的误差平方和最小(越接近 0 越 好),则需要求解 ) L% @* ^. e' R0 H" @
+ {& E' X3 s" t, }# x6 ]5 O
( 3 )
7 B+ I$ q! W- V# |式(3)是一个非线性(无约束)最小二乘拟合问题。很容易写出其 LINGO 程序 如下:9 K8 c! S! t) [' |. Y! L( |
1 D& Z7 s8 W6 I3 k$ Y
MODEL: r/ q' v" H5 w7 J% `5 f
TITLE 飞机定位模型1;
/ o: i& e+ `' |; N! s% f" s2 J& mSETS: , Z l" \% H" S
VOR/1..3/:x0,y0,cita,sigma;
4 I. S. k9 |; X) C4 s( c# _ENDSETS
9 z# q0 z# ~0 T6 u1 f: e9 \DATA: , n6 c) z, C0 a* t
x0, y0, cita, sigma =
/ V2 j+ h1 Z8 f( q& O0 z& R; `- S746 1393 161.2 0.8
# P' N, ]; v. ]9 r! J" F/ m629 375 45.1 0.6 ) g3 i# W4 N2 F, e" F0 {( J
1571 259 309.0 1.3; - |/ x/ ?' C/ z7 H
x4 y4 d4 sigma4=155,987,864.3,2.0;
) _9 T/ R9 M! a+ WENDDATA
) q3 P* I* `" @2 ?. pcalc:
. E ^% ?- P6 |3 F@for(VOR:cita=cita*3.14159/180;sigma=sigma*3.14159/180);
2 P1 I+ Q# D* |2 h; d+ x+ P2 Jendcalc 8 J, K1 R2 F: ~, _+ ]1 j3 s6 ]# A
min=@sum(VOR:@sqr((x-x0)/(y-y0)-@tan(cita)))+@sqr(d4-@sqrt(@sqr(x -x4)+@sqr(y-y4))); , {7 R8 p7 Q5 n {' m
END- o3 z; r# z" b w: E
上述程序必须使用全局求解器进行求解,否则求得的是一个局部最优解。用 “LINGO|OPTIONS”菜单命令启动“Global Solver”选项卡上的“Use Global Solver”选项,然后求解,可以得到全局最优解 x=1019.306 ,y= 987.2909 ,对应的目标函3 O; C+ D+ n- R0 Z0 d; P; H2 K
数值为 0.4729562,这里的解受π 的取值影响很大。 1 ]% C1 H5 L h' p* I
% l. A, p' @1 }* @(3)模型 2 及求解
" `4 j+ E6 H/ L$ c/ V& L
0 g/ b( N" K6 _注意到这个问题中角度和距离的单位是不一致的(角度为弧度,距离为公里),因 此将这 4 个误差平方和同等对待(相加)不是很合适。并且,4 种设备测量的精度(误差限)不同,而上面的方法根本没有考虑测量误差问题。如何利用测量设备的精度信息? 这就需要看对例中给出的设备精度如何理解。 一种可能的理解是:设备的测量误差是均匀分布的。以 VOR1 为例,目前测得的角度为 ,测量精度为 ,所以实际的角度应该位于区间 内。对其它设备也可以类似理解。由于 很少,即测量精度很高,所以在相应区间内正切函数 tan 的单调性成立。于是可以得到一组不等式:7 v. p3 |6 D/ b, z& h: H
3 V5 m' |" e4 P! s* n4 h
; Y7 j% m0 G& g5 r
1 y3 _& U& D+ ~
也就是说,飞机坐标应该位于上述不等式组成的区域内。 由于这里假设设备的测量误差是均匀分布的,所以飞机坐标在这个区域内的每个 点上的可能性应该也是一样的,我们最好应该给出这个区域的 x和 y 坐标的最大值和最小值。于是我们可以分别以 min x , max x , min y, max y为目标,以上面的区域限制条件为约束,求出x 和 y 坐标的最大值和最小值。
6 ?. P1 Z3 D$ w% I" s 以 min x 为例,相应的 LINGO 程序为:
; `- N+ A ?, G0 k2 V I& R6 `
% L: l( `0 `4 W4 M4 H2 S9 M6 KMODEL: / J- |' ]; y/ ^
TITLE 飞机定位模型2;
1 t$ T. E5 N; U2 P4 _SETS: VOR/1..3/:x0,y0,cita,sigma; 6 S7 |4 ]( v& G. x' s! A( K
ENDSETS
5 d' G3 K& A. `% q( |0 D9 e( I7 @INIT:
% [' S. f; j* M, U: W* s- Ex=1000; y=900; ( I }9 G3 y9 S* y: k
ENDINIT ' J/ f! A5 g1 S, X) P" c
DATA:
d8 }$ z# B3 R8 p5 F9 P( Kx0, y0, cita, sigma =
" d: n! T, {& f2 C1 u746 1393 161.2 0.8
e# R9 ~6 m- h% n) r" u$ R5 z: ?629 375 45.1 0.6 8 F, D0 w. g9 K% O( _# v, P& V
1571 259 309.0 1.3;
( G7 {2 s' G: X d7 f7 rx4 y4 d4 sigma4=155,987,864.3,2.0; ; h- Y5 i5 h( z' {
ENDDATA
' i$ `8 o/ s `3 J* c5 g; icalc: & e" I+ I( t- D4 k. y3 I
@for(VOR:cita=cita*3.14159/180;sigma=sigma*3.14159/180);
- N4 z" E; v5 s2 y% M, K- M# xendcalc
0 X: i# j, }; a; ]min=x;
& v1 E3 ?/ ~; M6 L, @7 u) W@for(VOR:(x-x0)/(y-y0)>@tan(cita-sigma));
1 x9 C& G0 ]4 ^6 T& e@for(VOR:(x-x0)/(y-y0)<@tan(cita+sigma)); 1 P1 ?% q3 i' X, |* O k
d4-sigma4 <((x-x4)^2+(y-y4)^2)^.5 ;
2 S$ G# [5 u/ r2 ^, s* j' }0 ?d4+sigma4 >((x-x4)^2+(y-y4)^2)^.5 ;
3 Y: Q# o; i9 T2 [7 Y( X+ CEND 3 ]! x6 }: ^9 k, c3 q2 s4 V
注意:用 LINGO9 求解非线性问题,必须对决策变量进行初始化,否则 LINGO 可 能找不到可行解。决策变量的初值也有范围限制,取的不合适也可能找不到可行解。 求得的 x的最小值为 974. 8433。类似地(只需要换目标函数就可以了),可得 到 x的最大值为 982.2005, y 的最小值为 717.1614, y 的最大值为 733.1582。 因此,最后得到的解是一个比较大的矩形区域,大致为 . ' r3 N2 C7 ]# x! A
7 X; K! @" D, B (4)模型 3 及求解
$ l1 n r8 W6 H* R H$ {5 O+ Q* {8 r* d, e2 W% Q# @
模型 2 得到的只是一个很大的矩形区域,仍不能令人满意。实际上,模型 2 假设 设备的测量误差是均匀分布的,这是很不合理的。一般来说,在多次测量中,应该假设设备的测量误差是正态分布的,而且均值为 0。本例中给出的精度 可以认为是测量
. N G* f3 R0 w' g( Z' K7 l8 p误差的标准差。 ( K4 I0 W8 j" z. I" d1 Z" n9 o9 W& x
- l; x/ i# B( O2 z; j8 V6 I/ T2 n在这种理解下,用各自的误差限 对测量误差进行无量纲化(也可以看成是一种加权法)处理是合理的,即求解如下的无约束优化问题更合理。
9 I& a) u1 v- G2 Z- ]/ [5 a
7 O; B# C$ d9 t2 D9 Q* ~ 1 T! g! F8 ?, _
2 ]9 b: F- F) [& q8 e+ }6 i
由于目标函数是平方和的形式,因此这是一个非线性最小二乘拟合问题。相应的 LINGO 程序为:
" M, z2 d' J3 Y3 ^+ X& A; w. T: l: k6 B' v. y) [
MODEL:
) T. m9 W: S. D" b- J* K7 _TITLE 飞机定位模型3;
( H( P' ]1 m8 m1 {8 }SETS:
0 I# x; c7 ~1 Y5 f* @6 Q* o CVOR/1..3/:x0,y0,cita,sigma,alpha; 3 x' u' W: F; D7 j, c$ i0 Z7 n) t& \+ d
ENDSETS
4 K5 [3 E) ], B$ ^; LINIT:
6 @8 ]# ]. K% Qx=1000; y=900;
8 k' }3 ~' ?6 ?# ^ENDINIT : K- N" i# k7 ?" f0 f0 l
DATA:
! U- t: z- a. V$ I. L2 \6 Ex0, y0, cita, sigma = ) r- C) y1 Z" A6 F C
746 1393 161.2 0.8 " Z3 o# K5 i) K2 v H( @
629 375 45.1 0.6 D/ A n9 _# a* H4 r; O& w
1571 259 309.0 1.3; . ?8 |: W. v' ~% L1 |+ i
x4 y4 d4 sigma4=155,987,864.3,2.0; 0 A9 N# n3 ^+ j/ Q$ m5 N
ENDDATA 4 v( r1 Y- T U2 ^1 M6 h7 g
calc:
6 V& J1 t- k: r$ }$ A@for(VOR:cita=cita*3.14159/180;sigma=sigma*3.14159/180);
" Q2 r' c& t+ g: E, ?, t3 D5 l: nendcalc
# a1 b! Z; u# n2 _. G1 }% Zmin=@sum(VOR:((alpha-cita)/sigma)^2)+((d4-((x-x4)^2+(y-y4)^2)^.5 )/ sigma4 )^2; 0 S# ]% h* ]" v& [& |" k; E0 L0 ]* k
@for(VOR: @tan(alpha)=(x-x0)/(y-y0) ); " y$ E2 a# n' N- n/ d& r
END3 g8 F% @( {- Y" {% {+ J& O- F$ x
启动 LINGO 的全局最优求解程序求解,得到全局最优解 x=978.3071,y= 723.9841,对应的目标函数的值为 0.668035。 这里得到的误差比模型 1 的大,这是因为模型 1 中使用的是绝对误差,而这里使用的是相对于精度 的误差。对角度而言,分母 很少,所以相对误差比绝对误差大,这是可以理解的。
; K! P9 {) F4 H2 R6 s% ?————————————————* I5 _4 a& O6 f5 [" L
版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
8 j$ J g1 @: @. z3 q原文链接:https://blog.csdn.net/qq_29831163/java/article/details/893890445 N. @2 {! J% L' g5 G2 D z/ S
7 N5 w: E4 f1 j/ n: t
* M9 v# R5 h4 ?
( c" X- C* D! v+ r! D9 N# m7 ` |
zan
|