【问题标题】:How to receive output of function in variable number of arrays in MATLAB?如何在MATLAB中接收可变数量数组的函数输出?
【发布时间】:2017-09-20 15:44:57
【问题描述】:

我想接收[I_1,I_2,...,I_n] = ind2sub(siz,IND) 的输出,该数组的维度大小在siz 中定义。线性索引是IND 中的单个值。我知道数组每个维度中的元素数。但是维数是可变的(已知但可变)。我想知道如何在可变数量的数组中接收ind2sub(siz,IND) 的输出,因为它需要n 数量的数组来接收输出。

其实维数就是一个数据集中数据点的属性个数。如果数据集称为x,则维数为size(x,2)

【问题讨论】:

标签: arrays matlab function output


【解决方案1】:

要从ind2sub 收集任意数量的下标索引,您需要使用cell array 而不是I_1I_2 等单个变量来存储输出。你可以capture the comma-separated list output如下,假设你的N维数据在一个变量x中:

[indices{1:ndims(x)}] = ind2sub(size(x), IND);

indices 现在将是一个 1×ndims(x) 元胞数组,其中包含与IND 中的线性索引相对应的每个维度的下标。

【讨论】:

    猜你喜欢
    • 2014-06-03
    • 1970-01-01
    • 1970-01-01
    • 2018-06-21
    • 2014-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-07
    相关资源
    最近更新 更多