主要内容

subsref

下标引用

描述

对于在R2021b及以后版本中创建的类,推荐的自定义索引的过程是从某些组合继承的matlab.mixin.indexing.RedefinesParenmatlab.mixin.indexing.RedefinesDot,matlab.mixin.indexing.RedefinesBrace.有关更多信息,请参见定制对象索引

例子

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)在哪里年代1乘1结构在哪里S.type是“()”S.subs是{1:2,‘:’}.冒号字符表示冒号用作下标。

这个例子展示了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.number导致呼叫B = subsref (A, S)在哪里S.Type“。”S.subs“数量”

输入参数

全部折叠

索引对象数组,由MATLAB作为对象数组传递,它是索引表达式的一部分。

标引结构,通过MATLAB作为标引substruct为导致调用subsref的索引表达式。这个结构有以下字段:

  • 类型-包含字符向量或字符串标量(){},或,指定下标类型。

  • 潜艇-包含实际下标的单元格数组、字符向量或字符串标量。

索引表达式可以使用多个级别来形成更复杂的表达式。例如一个{1}.field (3:5)有三个级别的索引。这个表达式,年代是一个带有以下字段的3乘1结构数组:

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

数据类型:结构体

输出参数

全部折叠

索引表达式的结果。

更多关于

全部折叠

了解索引表达式

(我)数组是由元素构成的吗一个由下标向量指定.得到的数组大小与除了特殊情况一个都是向量。在这种情况下,(我)元素的个数和而是有方向的一个

(I, J)的矩形子矩阵的元素构成的数组吗一个,由下标向量指定J.得到的数组有长度(我)行和长度(J)列。用作下标的冒号表示该维度中的所有元素。例如,(我,:)意思是由向量指定的行的所有列.同样的,(:, J)表示指定的列的所有行J

(I, J, K,…)是由下标指定的数组。结果是长度(我)——- - - - - -长度(J)——- - - - - -长度(K)……

{我}在哪里一个是单元阵列和标量是否构成指定单元格中的数组的副本一个.如果如果有多个元素,则该表达式是一个以逗号分隔的列表。还可以使用多个下标来指定标量元素,如一个{3、4}

(我).field一个结构是数组和标量是否在具有名称的字段中形成数组的副本.如果如果有多个元素,则该表达式是一个以逗号分隔的列表。如果一个是1乘1结构数组,则可以删除下标。在这种情况下,A.field是一样的(1) .field

扩展功能

之前介绍过的R2006a