溝端 浩平 / Kohei Mizobata
MATLAB Memo

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

ファイル選択ウィンドウや画面入力を使って、対話式の MATLAB スクリプトを作る例です。 データファイルを選ばせたり、航海名や深度などをその場で入力させたりすることで、 処理の柔軟性を高めることができます。

uigetfile input interactive file selection ADCP GUI-like

メモ

旧メモでは、uigetfile を使ったファイル選択と、 input を使った文字列・数値入力の2つを紹介しています。

観測データの読み込みや、簡単な対話式スクリプトの作成に便利です。

ファイル選択ウィンドウ

MATLAB のファイル選択ウィンドウ
uigetfile を使ってファイル選択ウィンドウを表示する例。
%% ADCPデータ (*.CID) のファイル選択 および ファイルサイズ確認
[fname, dpath] = uigetfile('*.CID'); % ← ウィンドウの表示
if ~isequal(fname,0) & ~isequal(dpath,0)
    fpath     = fullfile(dpath, fname);
    fid       = fopen(fname,'r');
    hd        = textscan(fid,'%s',3);  hdtmp      = hd{1};
    dattmp    = textscan(fid,'%s');    dattmp2    = dattmp{1};
    [hlin, dum] = size(hdtmp);         [dlin, dum] = size(dattmp2);
    fclose(fid);
    clear dattmp* hd* dum
else
    disp('ファイルがありません。');
end;

[pathstr,name,ext,versn]=fileparts(fname);

画面入力

MATLAB の input 関数による画面入力
input を使って航海名や深度指定を入力する例。
nav = input('航海名を入力してください\n','s');
dfl = input('深度指定 ----> [1]5m [2]10m [3]15m \n');