溝端 浩平 / Kohei Mizobata
Software Memo

MATLAB メモ

つれづれなるままの備忘録です。M_Map を使った図化、対数スケールのカラーマッピング、 経度–時間プロット、対話式スクリプト、日付データ処理、図の保存、並列計算など、 実際に使った内容をまとめています。

M_MAP Mapping log scale Longitude-Time uigetfile date data Toolbox parfor

このページの内容

旧ページにあった項目構成を維持しつつ、新しいサイトデザインに合わせて整理した MATLAB メモの入口です。

個別ページとして matlab1.htm, matlab2.htm, matlab3.htm, matlab4.htm, matlab-parfor.htm へ移動できます。

目次

1. M_MAP を使ってベクトルなどを描画

内容

M_MAP を使って海氷密接度、海氷ベクトル、海面気圧、海上風の平均場を描画する例です。 旧メモでは m_pcolor が単精度 single だと描画しないことにも触れています。

個別ページを見る

M_MAP を使った海氷・風・海面気圧の図

2. 対数スケールでマッピング(海面クロロフィル-a 濃度)

内容

SeaWiFS のクロロフィル-a 濃度を例に、log10 変換を使って対数スケールで可視化する方法です。 MATLAB のカラーバーはそのままでは対数スケールに対応しないため、ラベル位置を指定する工夫をしています。

個別ページを見る

クロロフィルa の対数スケールマップ

3. 経度-時間プロット

内容

指定した経度帯・緯度帯のデータを切り出し、時間方向に連結して経度–時間プロットを作る例です。 断面図作成にも通じるやり方としてまとめています。

個別ページを見る

経度-時間プロットの例

4. インタラクティブなソフトを作る

内容

uigetfile によるファイル選択ウィンドウ表示や、 input を使った画面入力の例をまとめています。

個別ページを見る

ファイル選択ウィンドウの例

そのほかの Tips

日付データ関連

  • DOY が欲しいときは date2doy 関数を利用
  • Year, DOY から年月日を得るには datevec(doy2date(doy,yr))
  • Jan〜Dec を文字列で扱うには datestr(datenum(2000,mo,1),'mmm')

フリーの Toolbox

  • SEA-MAT:時系列・NetCDF 可視化・M_Map・Hydrographic tools
  • tsplot:T-S ダイアグラム
  • STAPLOT:断面図関連
  • TEOS-10:Thermodynamic Equation Of Seawater-2010

図の保存

  • Scatter を JPEG 保存すると遅い場合は EPS 保存が有効
  • print('-depsc2','-painters', filename)
  • 低解像度や Illustrator 上の分割対策として set(gcf,'renderer','painters')

並列計算(parfor)

parfor ループ内での図保存には注意が必要です。並列計算の個別メモを用意しています。

parfor メモを見る

補足

このページは MATLAB メモの入口です。リンク先の個別ページでは、旧ページのコードや説明をそのまま活かしています。 画像ファイルが同じディレクトリにある前提で動作します。