主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

subsref

添字を使った参照

説明

クラスのオブジェクトに対して独自のインデックス付け動作を実装するために,クラスはsubsrefをオーバーロードします。詳細については,オブジェクトのインデックス付けを参照してください。

B= subsref (一个年代は,一个がオブジェクトの場合,構文(我){我}またはに対してMATLAB®により呼び出されます。

すべて折りたたむ

この例では,MATLAB®において,次のインデックス式でsubsrefを呼び出す方法を説明します。

一个=魔法(5);:一个(1:2)
ans =2×517 24 1 8 15 23 5 7 14 16

構文:一个(1:2)B = subsref (A, S)を呼び出します。ここで,年代S.type是“()”かつS.subs是{1:2,‘:’}である1行1列の構造体です。コロン記号は,コロンが添字として使用されたことを示します。

この例では,MATLAB®において,中かっこを使用するインデックス式でsubsrefを呼び出す方法を説明します。

C = {“一”2,“三”};C {1:2}
ans = " 1 "
ans = 2

C{1:2}は構文(c1, c2) = subsref (C, S)を呼び出します。ここで,S.type“{}”S.subs{(1 2)}です。

この例では,MATLAB®において,ドット表記を使用するインデックス式でsubsrefを呼び出す方法を説明します。

一个=结构(“数量”10);A.number
ans = 10

構文A.numberB = subsref (A, S)を呼び出します。ここで,S.Type“。”S.subs“数量”です。

入力引数

すべて折りたたむ

インデックス付きオブジェクト配列。MATLABにより、インデックス式の一部であるオブジェクト配列として渡されます。

インデックス付け構造体。MATLABにより、subsref の呼び出しを引き起こしたインデックス式に対するインデックス付けsubstructとして渡されます。この構造体には次のフィールドがあります。

  • 类型- - - - - -(){},またはを含む文字ベクトルまたは字符串スカラー。添字のタイプを指定します。

  • 潜艇——実際の添字を含む细胞配列,文字ベクトル,または字符串スカラー。

インデックス式では複数のレベルを使用して,より複雑な式を形成できます。たとえば,一个{1}.field (3:5)には3つのレベルのインデックス付けがあります。この式では,年代は,次のフィールドをもつ3行1列の構造体配列となります。

disp (S(1))类型:“{}”潜艇:{[1]}disp (S(2))类型:”。的潜艇:‘领域’disp (S(3))类型:“()”潜艇:{[3 4 5]}

データ型:结构体

出力引数

すべて折りたたむ

インデックス式の結果。

詳細

すべて折りたたむ

インデックス式の理解

(我)は,添字ベクトルによって指定された一个の要素から形成された配列です。結果の配列はと同じサイズになります。ただし,一个のどちらもベクトルという特殊なケースを除きます。その場合,(我)の要素数はと同じになりますが,一个の方向をもちます。

(I, J)一个の長方サブ行列の要素から形成される配列です。添字ベクトルおよびJによって指定されます。結果の配列は长度(我)长度(J)列となります。添字として使用されているコロンは,その次元のすべての要素を示します。たとえば,(我,:)はベクトルで指定された行のすべての列を意味します。同様に,(:, J)は,Jで指定された列のすべての行を意味します。

(I, J, K,…)は添字によって指定された配列です。結果は,长度(我)x长度(J)x长度(K)……となります。

{我}一个は细胞配列,はスカラー)は指定された一个の细胞の配列のコピーを形成します。が複数の要素をもつ場合,この式はコンマ区切りリストとなります。一个{3、4}のように,スカラー要素を指定する複数の添字を使用することもできます。

(我).field一个は構造体配列,ははスカラー),という名前のフィールド内の配列のコピーを形成します。が複数の要素をもつ場合,この式はコンマ区切りリストとなります。一个が1行1列の構造体配列の場合,添字を省略できます。この場合,A.field(1) .fieldと同じになります。

拡張機能

R2006aより前に導入