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

中的线性索引,使用动态变量名称是错误的。为什么不直接使用多维数组呢?