Takuya Miyashita
This site
Web
Start:
*オブジェクト配列 [#o5f73460]
**配列の作成 [#mf7502d4]
ここでは自作のclassを用い,Nx1 の配列を作成する.NxM 配列...
初期化されたインスタンスの配列を作成するのは単純で,引数...
#codeprettify(lang-matlab){{
A(N,1) = myclass;
}}
で Nx1 配列のmyclassが生成される.~
生成と同時に各要素のプロパティに何かを入力したい場合は下...
#codeprettify(lang-matlab){{
classdef MCUtils
% Class MCUtils
% Written by -----
% last modified xx.xx.xx
properties
dirpath
nregion
regioninfo
depth
end
methods
% Contsructor
function obj = MCUtils(argstr)
if nargin ~= 0
% % 1次元配列の場合の例
narray = size(argstr,1);
obj(narray,1) = MCUtils; % narray x 1の空...
for i = 1:narray
obj(i).dirpath = argstr(i,:);
end
end
end
end
end
}}
このとき,if nargin ~= 0 〜 end のif文を付け忘れないよう...
引数がない時のコンストラクタとしての機能を維持しておく必...
**メソッド呼び出し [#v7ce36ed]
***ブロードキャスト [#gf963901]
引数とするインスタンスが配列あっても配列でなくても実行で...
最初に配列かどうかを判定して,
#codeprettify(lang-matlab){{
methods
% hogehoge
% ....
%%%%%%%%%%%%%%%%%%%%%
function obj = GetDepth(obj)
% % depth取得
% % 引数が配列の場合は1つずつ実行
if numel(obj) > 1
for i = 1:numel(obj)
obj(i) = obj(i).GetDepth; % 同じfunction名...
end
return % 忘れないように
end
% % 引数が配列でない場合
file = dir(fullfile(obj.dirpath,'*.dep'));
obj.depth = hogehoge_func(file);
end
%%%%%%%%%%%%%%%%%%%%%
end
}}
配列である場合,最後にある return を忘れると配列でない場...
return(もしくはelse文か)を忘れないように.
***参考 [#rea3b793]
-[[オブジェクト配列の作成 - MathWorks>https://jp.mathwork...
-[[Call method for object arrays in Matlab - StackOverflo...
End:
*オブジェクト配列 [#o5f73460]
**配列の作成 [#mf7502d4]
ここでは自作のclassを用い,Nx1 の配列を作成する.NxM 配列...
初期化されたインスタンスの配列を作成するのは単純で,引数...
#codeprettify(lang-matlab){{
A(N,1) = myclass;
}}
で Nx1 配列のmyclassが生成される.~
生成と同時に各要素のプロパティに何かを入力したい場合は下...
#codeprettify(lang-matlab){{
classdef MCUtils
% Class MCUtils
% Written by -----
% last modified xx.xx.xx
properties
dirpath
nregion
regioninfo
depth
end
methods
% Contsructor
function obj = MCUtils(argstr)
if nargin ~= 0
% % 1次元配列の場合の例
narray = size(argstr,1);
obj(narray,1) = MCUtils; % narray x 1の空...
for i = 1:narray
obj(i).dirpath = argstr(i,:);
end
end
end
end
end
}}
このとき,if nargin ~= 0 〜 end のif文を付け忘れないよう...
引数がない時のコンストラクタとしての機能を維持しておく必...
**メソッド呼び出し [#v7ce36ed]
***ブロードキャスト [#gf963901]
引数とするインスタンスが配列あっても配列でなくても実行で...
最初に配列かどうかを判定して,
#codeprettify(lang-matlab){{
methods
% hogehoge
% ....
%%%%%%%%%%%%%%%%%%%%%
function obj = GetDepth(obj)
% % depth取得
% % 引数が配列の場合は1つずつ実行
if numel(obj) > 1
for i = 1:numel(obj)
obj(i) = obj(i).GetDepth; % 同じfunction名...
end
return % 忘れないように
end
% % 引数が配列でない場合
file = dir(fullfile(obj.dirpath,'*.dep'));
obj.depth = hogehoge_func(file);
end
%%%%%%%%%%%%%%%%%%%%%
end
}}
配列である場合,最後にある return を忘れると配列でない場...
return(もしくはelse文か)を忘れないように.
***参考 [#rea3b793]
-[[オブジェクト配列の作成 - MathWorks>https://jp.mathwork...
-[[Call method for object arrays in Matlab - StackOverflo...
Page:
Edit with a page name which already exists