function 作成 †自作の function を作成するにあたってのメモ書き. function をどこに格納するか †クラスでまとめる †同族の function は,クラスに押し込んで参照する.定義の方法については クラス定義 に記載. methods (Static) と定義してその中に 普通の function を入れてしまえば良い. classdef MyClass properties XXX YYY end %% methods function obj = FuncObj(obj) ... XXXX ... end end methods (Static) %% Table of stations function argout = MyFunc(argin) ... XXXX ... end end end この場合 MyClass.MyFunc(argin) のようにして function が使える. ディレクトリにまとめる †function 群は何らかのディレクトリに押し込んで,一時的に addpath で追加している addpath('./localfunc') % 一時的にパス追加,メインルーチンの最初に書く rmpath('./localfunc') % パスから除く,メインルーチンの最後に書く,必要なら実行 addpath の path 追加は,一度 MATLAB を閉じると効果が消える. 入力引数の数を可変に - nargin, varargin †nargin を使うことによって,入力引数の個数を調整することが可能. % 簡単に narginchk(4,5) % これでも大体同じ if nargin < 3 || nargin > 6; error('Invalid number of arguments') end varargin は便利だが,自作 function では可読性が落ちるような気がする. |