1 / 16

MATLAB 測位プログラミングの 基礎と GT (1)

MATLAB 測位プログラミングの 基礎と GT (1). 東京海洋大学産学官連携研究員   高須 知二. 内容. 主に MATLAB で書かれた測位解析プログラム GT(GpsTools) を例題にして、 MATLAB プログラミングの基礎及び測位計算への応用について解説する。 GT の応用についても簡単な例を基に解説する。. 目的. MATLAB を有用な研究開発ツールとして使いこなすことにより 本当にやりたい研究内容に早くたどり着く 退屈で ( 無駄な ) プログラミング作業を減らす 最小限の手間で最大限の研究成果を出す。. 予定 (1).

devon
Download Presentation

MATLAB 測位プログラミングの 基礎と GT (1)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MATLAB測位プログラミングの基礎とGT (1) 東京海洋大学産学官連携研究員  高須 知二

  2. 内容 • 主にMATLABで書かれた測位解析プログラムGT(GpsTools)を例題にして、MATLABプログラミングの基礎及び測位計算への応用について解説する。 • GTの応用についても簡単な例を基に解説する。

  3. 目的 • MATLABを有用な研究開発ツールとして使いこなすことにより • 本当にやりたい研究内容に早くたどり着く • 退屈で(無駄な)プログラミング作業を減らす • 最小限の手間で最大限の研究成果を出す。

  4. 予定 (1) • 4月 MatlabとGTの紹介 • 5月 Matlabプログラミング基礎 • 6月 Matlab行列演算プログラミング • 7月 Matlab 2D/3Dグラフィックス • 8月 Matlabプログラム開発・デバッグ手法 • 9月 Matlab性能向上とMEX他言語I/F

  5. 内容 (2) • 10月 GTの仕様と測位アルゴリズム • 11月 GTの内部構造と実装 • 12月 GTライブラリ・ツールの応用 • 1月 GTの応用:測位演算プログラム (1) • 2月 GTの応用:測位演算プログラム (2) • 3月 まとめと今後の課題

  6. MATLAB (1) • MATrix LABoratory • Mathworks社 (米) • 数値解析ソフトウェア • 科学技術計算、信号処理、データ解析、シミュレーション、可視化(Visualization)... • Toolbox、Simlink etc • 類似処理系: Octave,Scilab,...

  7. MATLAB (2) • プログラム言語としての特徴 • Cに似た制御構文 (if, while, for, switch...) • インタプリタ型言語 • 弱い型付 • 行列計算に特化した構文規則 • m-file単位でのプログラム管理 • バージョンアップで機能拡張 (互換性問題)(セル配列、構造体、オブジェクト指向、etc ...)

  8. MATLAB (3) • 数値解析システムとしての特徴 • 数値解析ライブラリ線形代数、特殊関数、統計解析、信号処理、積分、微分方程式、補間 etc... • グラフィックスライブラリ • 拡張ライブラリ集(Toolbox) • デバッガ、プロファイラ、GUIツール • コンパイラ

  9. MATLAB (3) • 長所 • プログラム開発効率 • 結果の可視化が容易 • 短所 • 処理系が高価/プロプライエタリSW • 可搬性 (プログラム実行にMatlabが必要) • プログラム実行効率

  10. MATLABの利用 • 研究開発 ○ • 最終目的物はプログラムそのものではない • 仕様が曖昧、仕様がどんどん変わる • 早く成果すなわち解析結果が出ればよい • プロトタイプ開発 • 実製品 △ • 最終目的物はプログラムそのもの • 実行効率、低コスト、可搬性、品質保証

  11. C vs MATLAB (1) 九九演算表を出力する : C : void kuku(void) { int i,j; for (i=1;i<=9;i++) { for (j=1;j<=9;j++) { printf("%2d ",i*j); if (j==9) printf("\n"); } } } MATLAB : function kuku (1:9)'*(1:9)

  12. C vs MATLAB (2) 線形方程式(Y=AX)の解を求める : C+LAPACK : int solve(const double *A, const double *Y, int n, int m, double *X){ int info,*ipiv=(int *)malloc(sizeof(int)*n); double *B=(double *)malloc(sizeof(double)*n*n); memcpy(B,A,sizeof(double)*n*n); memcpy(X,Y,sizeof(double)*n*m); dgetrf_(&n,&n,B,&n,ipiv,&info); if (!info) dgetrs_("N",&n,&m,B,&n,ipiv,X,&n,&info); free(B); free(ipiv); return info; } MATLAB : function X=solve(A,Y) X=A\Y;

  13. GT (1) • MATLABをベースに書かれた測位解析プログラム • 最新: ver.0.6.3 (2006/7) • ライバル: Bernese、GIPSY/OASIS-II • 主な応用:精密測位(PPP)、衛星軌道決定、対流圏遅延推定、etc ...

  14. GT (2) • プログラム規模:m-file 22.1K, C-MEX 5.9K (ver.0.6.1) • プログラム開発戦略 • (1) MATLABプログラム開発 • (2) 性能ボトルネックの識別 • (3) ライブラリのm-file→C-MEXへの書き換え • (4) 解析エンジンの全Cプログラム化(未)

  15. GT (3) • MATLAB用共通ライブラリ: • 入出力:RINEX , SP3, IONEX, PCV etc • 測位演算 • 精密補正モデル • 大気圏モデル • 衛星運動モデル • 座標系、時刻系変換 • 地図描画、特殊グラフ描画、GUI etc

  16. GTライブラリ利用例 RINEX読み込み/単独測位計算/結果グラフ化 : td=caltomjd([2007,1,1]); t=0:30:86370; sats={}; for i=1:31,sats={sats{:},sprintf('GPS%02d',i)}; end [nav,inav]=readnav(td,t,sats,'0053'); [obs,iobs]=readobs(td,t,sats,'0053'); [tt,j]=unique(iobs(:,1)); j=[0,j']; for i=1:length(j)-1 k=j(i)+1:j(i+1); p=pointpos(td,tt(i),obs(k,3),iobs(k,2:3),nav,inav); pos(i,:)=eceftogeod(p); end figure, hold on, grid on, box on plot3(pos(:,1),pos(:,2),pos(:,3),'.');

More Related