Arrays 如何在MATLAB中接收可变数组数的函数输出?
我想接收Arrays 如何在MATLAB中接收可变数组数的函数输出?,arrays,matlab,function,output,Arrays,Matlab,Function,Output,我想接收[I_1,I_2,…,I_n]=ind2sub(siz,IND)的输出,该数组的大小为siz中定义的维数。线性索引是IND中的单个值。我知道数组每个维度中的元素数。但维度的数量是可变的(已知但可变)。我想知道如何以可变数组数接收ind2sub(siz,IND)的输出,因为它需要n数组数来接收输出 事实上,维度数是数据集中数据点的属性数。如果数据集被称为x,则维度数为大小(x,2) 要从中收集任意数量的下标索引,您需要使用a而不是单个变量,如I_1、I_2等来存储输出。假设您的N维数据位于
[I_1,I_2,…,I_n]=ind2sub(siz,IND)
的输出,该数组的大小为siz
中定义的维数。线性索引是IND
中的单个值。我知道数组每个维度中的元素数。但维度的数量是可变的(已知但可变)。我想知道如何以可变数组数接收ind2sub(siz,IND)
的输出,因为它需要n
数组数来接收输出
事实上,维度数是数据集中数据点的属性数。如果数据集被称为
x
,则维度数为大小(x,2)
要从中收集任意数量的下标索引,您需要使用a而不是单个变量,如I_1
、I_2
等来存储输出。假设您的N维数据位于变量x
中,您可以如下所示:
[indices{1:ndims(x)}] = ind2sub(size(x), IND);
而
索引
现在将是一个1×ndims(x)单元格数组,其中包含每个维度的下标,这些维度对应于IND
中的线性索引,使用动态变量名称是错误的。为什么不直接使用多维数组呢?