Main Content

オブジェクトのインデックスとしての end

オブジェクトの end インデックスの定義

A(4:end) のように、オブジェクトのインデックス式で end を使用すると、関数 end は、その次元の最後の要素に相当するインデックスの値を返します。

クラスでは関数 end をオーバーロードして特化した動作を実装することができます。クラスが end メソッドを定義する場合、MATLAB® は、式の解釈方法を判定するためにそのメソッドを呼び出します。

end メソッドには次の呼び出し構文があります。

ind = end(A,k,n)

引数は以下のとおりです。

  • A はオブジェクト

  • k は、end 構文を使用した式内のインデックス

  • n は、式内のインデックス総数

  • ind は、式内で使用されるインデックス値

たとえば、3 行 5 列の配列 A について考えてみます。MATLAB が次の式を読み取ります。

A(end-1,:)

MATLAB は、オブジェクト A に定義された end メソッドを引数を使用して呼び出します。

ind = end(A,1,2)

これらの引数は、インデックスが 2 つあり、最初のインデックスで end ステートメントが発生することを意味します。end クラスのメソッドは、最初の次元の最後の要素に対してインデックス値を返します (この場合は、1 が引かれます)。元の式は以下のように評価されます。

A(3-1,:)

インデックス付けをカスタマイズするクラスにおける end のオーバーロードの例については、Customize Parentheses Indexing for Mapping Classを参照してください。

関連するトピック