0

我有一个 447*1 尺寸的单元阵列。元胞数组具有 double 类型的不同维度的 2Dimensional 数组。我想检查该单元数组比较中的特定值,并在此基础上将其存储在一个新的矩阵中。

因此,例如我的起始单元格数组是 Y{447*1} 。我的第一个单元格包含 5*10 的数组,第二个数组包含 22*10 的数据。我想评估这个数组的第二列,然后将它存储在一个新的矩阵中。

我为一组数据做了这个,代码看起来像这样。

A = [y{2,1}(1:20,2),y{4,1}(1:20,2),y{6,1}(1:20,2),y{8,1}(1:20,2),...
    y{10,1}(1:20,2),y{12,1}(1:20,2),y{14,1}(1:20,2),y{16,1}(1:20,2),...
    y{18,1}(1:20,2),y{20,1}(1:20,2),y{22,1}(1:20,2),y{24,1}(1:20,2),...
    y{26,1}(1:20,2),y{28,1}(1:20,2),y{30,1}(1:20,2)];

但我想自动化这件事。请帮助如何做到这一点。

4

1 回答 1

1

类似于以下内容:

Temp = cellfun(@(x) x(1:20,2),Y(1:2:end,1), 'UniformOutput', false);
A = cat(2,Temp{:});

如果我正确阅读了您的问题,应该可以工作-无论如何它都应该复制您的示例。然后,您可以更改 @(x) 函数 x(1:20,2) 的维度以从元胞数组中取出不同的值,并对 Y(:,1) 使用不同的元胞索引来选取 Y 的不同部分。

于 2013-06-11T16:52:30.560 回答