matlab大圆航线,基于MATLAB和C#混合编程的大圆航线计算器设计
行業曲線industryappraisement
可替代度影響力可實現度行業關聯度真實度
利用現有的大圓航線算法,分別通過MATLAB和C#編寫大圓航線正反解的算法和大圓航線計算器顯示界面,以及利用MATLAB和C#.NET混合編程的方式對大圓航線計算器進行了設計,并對所設計的大圓航線計算器進行了驗證,驗證結果表明大圓航線計算器具備較高精確性和有效性,為大圓航線計算提供了便捷的計算方式。
大圓航線又稱為大地主題解算,是指在地球上從一點航行到另一點時,過兩點的大圓劣弧,用于進行地球橢球面上兩位置點間的距離和方位角的計算。船舶或飛機進行遠距離航行時,一般情況下均采用大圓航線進行航行,以縮短航程和航行時間。目前關于大地主題的解算算法很多,例如T.Vincenty的嵌入系數法,巴烏曼投影法,以及貝塞爾公式等。這些大地主題解算的算法為本文所設計的大圓航線計算器提供了可靠的算法基礎和有效保障。大圓航線大圓航線包括大圓航線正解和大圓航線反解。大圓航線正解是指已知地球上起點的經緯度坐標,計算從該位置點以某一方位角航行一定距離后的終點位置經緯度坐標;大圓航線反解是指已知地球上兩位置點經緯度坐標,計算該兩點間的大圓航線距離和正反方位角,示意圖如圖1所示。設起點A的經緯度坐標為11(B,L),終點B的經緯度坐標為22(B,L),s表示起點和終點間的大圓航線長度,表示大圓航線在赤道的方位角,12,表示大圓航線的正反方位角,a、b、f分別表示橢球的長半軸、短半軸和扁率。本文以T.Vincenty的嵌入系數法為參考總結出大圓航線正反解解算過程。大圓航線正解大圓航線正解過程如下:首先,根據起點A緯度,計算起點A的球面歸化緯度1U:11tanU=(1-f)tanL計算大圓航線與橢球赤道的交點和起點A在橢球上的球面角距:111tan=tanU/cos則可得到大圓航線在赤道的方位角,11sin=cosUsin通過計算大圓航線長度修正項?,同時計算大圓航線與赤道的交點到大圓航線中點的球面角距m,以及點A與點B間的球面角距。22222u=cos(a-b)/b2221[64(125)]256uM=++u-+u222[128(6437)]512uN=+u-+u1(2)/2m=+sbM=+?2sin[cos2cos(12cos2)/4]mm?=N+B-+圖1大圓航線
對公式(7)式至(9)進行迭代,直至點A與點B間的球面角距的變化可忽略不計。初始迭代條件為式(8)的第一項。然后計算起點與終點的經度差?B,1111tanB?(sinsin)/(cosUcos-sinUsincos)最后分別計算終點的經緯度坐標22(B,L)。11121222111sincoscossincostan(1)[sin(sinsincoscoscos)]UULfUU+=-+-21B=?B+B大圓航線反解大圓航線反解過程如下:初始迭代值:'21?B=B-B然后計算起點與終點的球面角距,2'2'221212sin=(cosUsin?B)+(cosUsinU-sinUcosUcos?B)'1212cossin=UsinU+cosUcosUcos?Btan=sin/cos其中2U表示終點的球面歸化緯度1U,22tanU=(1-f)tanL'12sin=cosUcosUsin?B/sin212cos2cos2sinsin/cosm=-UU對式(14)至式(19)進行迭代,直至'?B的改變量可以忽略不計。22cos[4(43cos)]16fC=+f-'2(1)sin{sin[cos2cos(12cos2)]}mm?B=?B--C
總結
以上是生活随笔為你收集整理的matlab大圆航线,基于MATLAB和C#混合编程的大圆航线计算器设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP.NET查找路由表RouteTab
- 下一篇: databinder.eval绑定数据的