主要内容

subsref

下标引用

描述

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

例子

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

例子

全部折叠

这个例子展示了MATLAB®如何调用subsref对于下面的索引表达式。

A =魔术(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}导致对[C, C] = 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作为索引传递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)列。用作下标的冒号表示该维度中的所有元素。例如,(我,:)表示由vector指定的这些行的所有列.同样的,(:, J)所指定的列的所有行J

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

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

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

扩展功能

版本历史

R2006a之前介绍

Baidu
map