肖帥帥
(上海海事大學商船學院,中國上海201306)
船舶航行的軌跡是船東監測船舶營運的重要指標。船舶偏離計劃軌跡可能給船舶航行帶來危險,然而船舶在海上航行受海浪、海風及海流等環境擾動的影響力作用較大,所以如何對給定的一段航行軌跡有所偏差,在不能及時發覺時,可能會使船舶偏離船舶航行的軌跡。
插值法是一種古老的數學方法,它來自于生產實踐。 早在一千多年前,我國數學家在研究歷法上就應用了線性插值與二次插值,但它的基本理論和結果卻是在微積分產生之后才逐步完善的,其應用也日益增多,特別是在電子計算機廣泛使用以后,由于航空、造船、航海等實際問題的需要,使插值法在實踐上或理論上顯得更為重要,并得到進一步發展,更獲得了廣泛的應用[1]。船舶AIS 數據大量且長時間保存AIS 信息需要很大的儲存空間,這使實時監測航行的軌跡帶來很大不便。當只知道船舶航行的幾個點后,用插值法推算航行的航跡,船東可以隨時觀察船舶是否按規定的軌跡航行。監測船舶航跡目的是了解和掌握某個水域內的船舶交通狀況和船舶行為規律,通過返回的若干離散的船舶航行軌跡點來繪制船舶航行曲線。 針對此,通過數值分析方法來處理船舶航行返回的離散數據。
針對船舶航行情況,本文在數值分析的基礎上,提出一種基于拉格朗日和牛頓差值推算船舶航行的軌跡,仿真實驗證明該方法能有效地推算船舶航行中的軌跡。

圖1 水域中船舶航行軌跡點
AIS 的信息包括靜態信息、動態信息、與航次有關的信息、與安全有關的短電文、AIS 船舶報告。主要使用靜態信息和動態信息。動態信息包括船位及其精度標示和完好性狀態;協調世界時UTC 標記的定位時間、船舶的對地航向(COG)、對地航速、航行狀態和旋回速率。 其中包括交通流量、速度和占有率。 主要包括海上移動通信業務標識(mmsi)、航速(speed,單位“kn”)、經度(lon,單位“′”)、緯度(lat,單位“′”)、艏向(heading,單位“(°)”)、船長(length,單位“m”)、船寬(width,單位“m”)[7]。
顯然,船舶的航行曲線是一條連續不間斷的航線。 因此在給定的一個區域內船舶航跡雖只給出一些離散點(如圖1 所示),我們仍可通過數值分析中的插值法來推算完整的航跡。
圖1 為船舶在水域返回的若干航行軌跡點,對此數據下面我們引入拉格朗日插值法來處理。
設函數y=f(x)在區間[a,b]上有定義,且已知在點a≤x0<x1<… 成立,就稱P(xi)為f(x)的插值函數,點x0,x1,…,xn稱為插值節點,求插值函數P(xi)的方法稱為插值法。 若P(xi)是次數不超過n 的代數多項式,即 就稱P(xi)為插值多項式。 圖2 水域中船舶航行軌跡線 從幾何上看,插值法就是求曲線y=P(xi)使其通過給定的n+1 個點(xi,yi),i=0,1,…,n,并用它近似已知曲線y=f(x)。 下面給出拉格朗日插值公式: 其中 ωn+1(x)=(x-x0)(x-x1)…(x-xn) 利用已知的船舶航行數據節點,根據拉格朗日插值法可繪制出如圖2 曲線[5]。 考慮在一個固定的區域內插值去逼近船舶的航行路線,顯然拉格朗日插值中使用的點越多,插值多項式的次數就越高。 而并不是因此繪制出的航跡就越準確,同時隨著插值節點的增多,需要記錄存儲的船舶航跡點就越多。 下面是Runge 給出的一個例子。 考慮在區間-1≤x≤1 上的函數: 構造等距節點上的拉格朗日插值多項式。當插值節點的個數增加時,插值多項式的次數隨之而增加。 在Matlab 上運行程序可發現當插值節點增多時,實驗結果并非越來越好,這一現象如今已得到越來越多人的關注。 值得提出的是,隨著船舶返回的節點的增加,又得重新進行拉格朗日插值工作,計算量可想增大。 因此在拉格朗日插值的基礎上引入牛頓插值來解決這一缺憾。 利用插值基函數很容易得到拉格朗日插值多項式,擔當插值節點增加時全部插值基函數均要隨之變化,整個公式也將發生變化,這在實際計算中很不方便,為了克服這一點,可把插值多項式表示如下便于計算的形式: 其中a0,a1,…,an為待定系數,可有插值條件確定。 表1 均差表 根據均差定義,把x 看成[a,b]上的一點,可推得牛頓均差公式為[4]: Nn(x)=f(x0)+f[x0,x1](x-x0)+…f[x0,…,xn](x-x0)…(x-xn-1) 圖3 水域中船舶航行軌跡線 它比拉格朗日差值計算量省,且便于程序設計。 對于船舶航行提供的若干點可以方便的繪制出船舶航行曲線, 同時當節點增加時,前面的工作可以為后面的計算提供幫助,大大節省了計算量。 而對于插值結果,它們兩個所得到的船舶航行軌跡線是是相同的,如圖3 所示。 檢測精度的計算公式:中誤差按下列公式計算。 式中:M檢——中誤差 n——檢測點數 △——平面較差 選取實際部分點與插值生成后的點數據誤差比較如表2: 表2 誤差統計表 由此可以看出牛頓插值可以用來較好的推算船舶運行航跡。 實際船舶航行的曲線與經過牛頓插值推算后的曲線比較如圖4。 圖4 航行軌跡與推算航跡 本文對船舶航跡推算所涉及到的數值分析方法進行了分析和論證,設計了基于插值法對船舶航行軌跡推算算法。 理論分析了插值法解決這一問題的關鍵點及誤差分析,并給出了相關公式,對相關理論進行了Matlab 仿真,通過分析得到以下結論:拉格朗日插值法在處理船舶航行節點時有簡單之處,但隨著節點數的增加,計算量也大大增加。 運用牛頓插值推算船舶航跡相比拉格朗日差值計算量大大減小,而且有較高的精度,得出了數值分析推算船舶航行軌跡的可行性。 可以推算船舶航行過的航跡,船東可以根據少量的數據點,清晰地了解船舶在海上運動的連續軌跡,并且也可以根據它推算出船舶在繼續航行的前方是否存在危險,對事故的鑒定與預防有很重大的意義。 用此方法推算船舶航行軌跡有重大的參考意義。 [1]李慶揚,王能超,易大義.數值分析[M].北京:清華大學出版社,2007. [2]吳兆麟.海上交通工程[M].大連:大連海事大學出版社,2004. [3]白峰杉.數值計算引論[M].北京:高等教育出版社,2004. [4]李慶揚,關治,白峰杉.數值計算原理[M].北京:清華大學出版社,2000. [5]劉衛國.MATLAB 程序設計與應用[M].北京:高等教育出版社,2006. [6]李慶揚,關治,白峰杉.數值計算原理[M].北京:清華大學出版社,2000. [7]林袆珣.數據挖掘技術在海上交通特征分析中的應用研究[D].集美大學,2011,6.



1.3 誤差估計

2 牛頓插值
2.1 均差


2.2 牛頓插值公式

2.3 精度檢驗



3 結論