MATLAB Function Reference    
subsasgn

A(i)=B, A{i}=B, A.field=B の多重定義メソッド

表示

詳細

A = subsasgn(A,S,B) は、Aが、オブジェクトのときに、シンタックスA(i)=B, A{i}=B, A.i=Bに対して、コールされます。Sは、つぎのフィールドをもつ構造体配列です。

例題

シンタックス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)をコールします。

S(1).type='()'
S(2).type='.'
S(3).type='()'
S(1).subs={1,2}
S(2).subs='name'
S(3).subs={3:5}

参考
subsref

多重定義と subsasgn に関する詳細は、Using MATLAB を参照してください。


 subplot subsindex