文档

subsref

下标引用

描述

类过载subsref为类的对象实现自定义索引行为。有关更多信息,请参见对象索引

例子

B= subsref (一个年代由MATLAB调用®对于语法(我){我},或A.I.一个是一个对象。

例子

全部折叠

这个例子展示了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 =“一个”
ans = 2

语法C{1:2}导致调用(c1, c2) = subsref (C, S)在哪里S.Type.'{}'S.subs{[1 2]}

这个例子展示了MATLAB®如何调用subsref用于使用点表示法的索引表达式。

a = struct('数字'10);A.number
ans = 10.

的语法A.number导致呼叫B = subsref (A, S)在哪里S.Type“。”S.subs'数字'

输入参数

全部折叠

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

索引结构,由matlab传递作为索引副标记为导致调用subsref的索引表达式。这个结构有以下字段:

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

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

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

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

数据类型:结构体

输出参数

全部折叠

索引表达式的结果。

更多关于

全部折叠

了解索引表达式

a(i)数组是由元素构成的吗一个由下标矢量指定.结果阵列与尺寸相同除了特殊情况一个都是向量。在这种情况下,a(i)元素的个数和但有方向一个

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

(I, J, K,…)是下标指定的数组。结果是长度(i)-经过-长度(j)-经过-长度(k)...

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

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

扩展功能

在R2006A之前介绍