| MATLAB Function Reference | ![]() |
A(I), A{I}, A.field に対する多重定義メソッド
表示
B = subsref(A,S)
詳細
B = subsref(A,S)
は、A がオブジェクトのときに、シンタックス A(i), A{i}, A.i に対してコールされます。S は、つぎのフィールドをもつ構造体配列です。
type: A string containing '()', '{}', or '.', where '()' を含む文字列。ここで、 '()' は、整数のサブスクリプトを、'{}'は、セル配列のサブスクリプトを、'.' は、サブスクリプトの付いた構造体のフィールドを指定します。subs: 実際のサブスクリプトを含むセル配列、または、文字列例題
シンタックスA(1:2,:) は、subsref(A,S)をコールします。ここで、Sは、 S.type='()'、かつ、S.subs = {1:2,':'}である1行1列の構造体です。サブスクリプトとして使われるコロンは、文字列':'として渡されます。
A{1:2} は、subsref(A,S)をコールします。ここで、S.type='{}' です。
A.field は、subsref(A,S) をコールします。ここで、 S.type='.'、かつ、S.subs='field' です。
これらの簡単なコールは、より複雑なサブスクリプト表現に対してわかりやすい方法で組み合わされます。そのような場合、length(S) はサブスクリプトのレベル数です。たとえば、S が、つぎの表の値をもつ 3行1列の構造体配列のとき、A(1,2).name(3:5) は、subsref(A,S) をコールします。
|
|
|
|
|
|
参考
subsasgn
多重定義メソッドと subsref に関する詳細は、Using MATLAB を参照してください。
| subspace | subvolume | ![]() |