(translator=Kuo, ChineseSource=Kuo-20020423-4\subsref.html, EnglishSource=c:\matlabr12\help\techdoc\ref\subsref.html)
MATLAB Function Reference    
subsref

A(I)、A{I}A.field 覆載的方法

Syntax

Description

B = subsref(A,S) 會被 A(i)A{i}A.i 呼叫,而 A 是一個物件。 S 是一個結構陣列有著以下的欄位:

Remarks

MATLAB 直譯器(interpreter)會用 subsref 來處理物件中,需要用到索引分配的情況。而我們並不建議您直接呼叫 subsref 。如果您直接用 subsref 的話,它將會按照正規的 MATLAB 規則分配,可能會產生並非我們想要的答案。

Examples

A(1:2,:)=B 會去呼叫 A=subsref(A,S) ,而 S 為一個 S.type='()'S.subs = {1:2,':'} 的1-by-1 結構, 冒號 ""當作一個下標傳入。

A{1:2}=B 會去呼叫 A=subsref(A,S),而 S.type='{}'

A{1:2}=B A.field=B 會去呼叫 subsref(A,S) ,而 S.type='.'S.subs='field'

這些簡單的呼叫可以很直觀地結合成更複雜的表示式,像 length(S) 也是屬於這一種情況。舉個例來說, A(1,2).name(3:5)=B 會去呼叫 A=subsref(A,S) ,而 S 是一個 3-by-1 結構陣列,並且有下列的這些值 :

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

See Also

subsasgn

See Handling Subscripted Reference for more information about overloaded methods and subsref.


 subspace subvolume