subsref和subsasgn数量的参数
如何MATLAB确定数量的参数
MATLAB®调用subsref
或subsasgn
确定执行代码的结果涉及到索引引用或赋值。引用的元素数量或指定的索引操作决定了MATLAB使用调用的参数数量subsref
和subsasgn
。也就是说,索引代码决定了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);结束
这个下标引用返回一个以逗号分隔的三个要素。这句话的价值nargout
在subsref
是3
。
l . values (1:3)
ans = 1 = 2岁= 3
左边的下标赋值语句影响的输入参数的数量要调用MATLAB使用subsasgn
。这个下标赋值分配三个值三个元素添加到数组中。这个任务的价值输入参数个数
在subsasgn
5(对象、索引子结构和分配的三个值)。
(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)……结束