直接从Matlab中的单元数组中的几个向量中提取数据

时间:2014-04-07 14:20:37

标签: arrays matlab cell-array

我有这样的结构:

>> A = [1 2; 3 4];
>> B = [5 6; 7 8];
>> C = [9 10; 11 12];
>> D = [13 14; 15 16];
>> S = {A B; C D}

S = 

[2x2 double]    [2x2 double]
[2x2 double]    [2x2 double]

我想知道是否有办法只使用一个命令来提取单元格数组中每个数组的第一个元素。例如,我想得到

ans = [S{1,1}(1) S{1,2}(1); S{2,1}(1) S{2,2}(2)]

ans =

 1     5
 9    15

但是以自动和可编程的方式,即使用冒号或类似物。

不需要循环。

有可能吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

您可以使用cellfun

FirstElement = cellfun(@(x)x(1),S)