subsasgn
重新定义下标赋值
语法
= subsasgn (S B)
描述
类编写R2021b和后,推荐的过程定制索引是继承的组合matlab.mixin.indexing.RedefinesParen
,matlab.mixin.indexing.RedefinesDot
,matlab.mixin.indexing.RedefinesBrace
。有关更多信息,请参见定制对象索引。
= subsasgn (S B)
由MATLAB调用®的语法(我)= B
,{我}= B
,或一个。我= B
当一个
是一个对象。
MATLAB使用内置的subsasgn
函数来解释索引赋值语句。修改索引分配行为类的重载subsasgn
在课堂上。
请注意
你必须叫subsasgn
和一个输出参数。subsasgn
不修改索引操作中使用的对象(第一个输入参数)。您必须指定输出获得修改对象。
输入参数
|
对象用于索引操作 |
|
结构有两个字段,
|
|
值被分配(赋值语句的右边) |
输出参数
|
赋值语句的结果,这是修改后的对象作为第一个参数传递。 如果您的实现 |
例子
参数的值subsasgn
显示的表达式:
:一个(1:2)= B;
的语法:一个(1:2)= B
调用= subsasgn (S B)
在哪里年代
是一个结构年代。类型=“()”
和年代。潜艇= {1:2,‘:’}
。冒号字符(“:”
)表示一个冒号作为下标。
表达式:
{1:2}= B;
的语法{1:2}= B
调用= subsasgn (S B)
在哪里年代。类型=“{}”
和年代。潜艇= {(1 2)}
。
表达式:
一个。场= B;
的语法一个。场= B
调用= subsasgn (S B)
在哪里年代。类型= '。'
和年代。潜艇=“字段”
。
表达式:
(1、2). name (3:5) = B;
简单的电话结合在一个直接的方法更复杂的索引表达式。在这种情况下,长度(年代)
是加下标的数量水平。例如,(1、2). name = B (3:5)
调用= subsasgn (S B)
在哪里年代
是一个3×1的结构有以下值:
(1)。类型= '()' |
(2)。类型= '.' |
(3)。类型= '()' |
(1)。潜艇= {1,2} |
(2)。潜艇= 'name' |
(3)。潜艇= {[3 4 5]} |
提示
在subsasgn
方法定义的一个类,MATLAB调用内置的subsasgn
。调用内置的使您能够使用默认索引行为在定义专门的索引。
算法
在赋值(J, K,…) = B (M, N,…)
,下标J
,K
,米
,N
等等,可以是标量,矢量,或者数组,当所有以下是正确的:
下标指定的数量
B
(不包括拖曳下标等于1,不超过所返回的值ndims (B)
。nonscalar下标指定的数量
一个
= nonscalar下标指定的数量B
。例如,(5一4 1、2)= B (8)
方程是有效的,因为双方都使用一个nonscalar下标。所有nonscalar下标指定的顺序和长度
一个
匹配的顺序和长度nonscalar下标指定B
。例如,(1:4 3 3:9)= B (8, 1:7)
是有效的,因为双方的方程(忽略了一个标量下标吗3
)使用第4单元下标7-element下标。
扩展功能
版本历史
之前介绍过的R2006a