文档

subsref和subsasgn数量的参数

如何MATLAB确定数量的参数

MATLAB®调用subsrefsubsasgn确定执行代码的结果涉及到索引引用或赋值。引用的元素数量或指定的索引操作决定了MATLAB使用调用的参数数量subsrefsubsasgn。也就是说,索引代码决定了MATLAB的数量的参数:

  • 从调用返回subsref

  • 通过调用subsasgn

因此,索引代码确定的价值nargout的调用subsref和的值输入参数个数的调用subsasgn

例如,考虑一下ValuesArray类。

classdefValuesArray属性结束方法函数obj = ValuesArray (v)如果输入参数个数> 0 obj。值= v;结束结束结束结束

创建一个数组的10ValuesArray对象。

l = ValuesArray.empty;k = 1:10 l (k) = ValuesArray (k);结束

这个下标引用返回一个以逗号分隔的三个要素。这句话的价值nargoutsubsref3

l . values (1:3)
ans = 1 = 2岁= 3

左边的下标赋值语句影响的输入参数的数量要调用MATLAB使用subsasgn。这个下标赋值分配三个值三个元素添加到数组中。这个任务的价值输入参数个数subsasgn5(对象、索引子结构和分配的三个值)。

(l (11:13)。值] = l(1:3).Values
l = 1 * 13 ValuesArray数组属性:值

如果右侧参数的数量不能满足左侧参数的数量,MATLAB返回一个错误:

(l (11:13)。值] = l(1).Values
不足数量的输出从右手边的等号来满足作业。

语法subsref, subsasgn方法

如果一个类过载subsref支持要金宝app么“{}”,“。”、或两种类型的索引操作返回多个值,过载subsref返回多个值使用varargout:

函数varargout = subsref (S)…结束

如果一个类过载subsasgn支持要金宝app么“{}”,“。”、或两种类型的索引和操作分配多个值,过载subsasgn接受多个值使用变长度输入宗量:

函数变长度输入宗量= subsagn (S)……结束

相关的话题