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