2014-11-20 136 views
4

我有电池阵列的一个单元阵列的单元阵列第一个值...检索细胞

data = {1x16} 
      {1x16} 
      {1x16} 

,我试图从各个小区的检索的第一个值。但是,当我做

 data{:}(1) 

我结束了一个错误,说

 Bad cell reference operation. 

首先是有一个很好的理由,为什么我不应该被允许做 这个?其次是有解决这个问题的方法吗?

干杯! 本

回答

1

对于1D单元阵列 -

first_vals = arrayfun(@(n) data{n}(1),1:numel(data)) 

这应该一般情况下工作 -

first_vals = reshape(arrayfun(@(n) data{n}(1),1:numel(data)),size(data)) 
0

我宁愿它使用一个简单的for循环做:

对于例如,这将工作:

data = [{[1:16]}; {[17:32]}; {[33:48]}]; 
b= [] 
for i=1:length(data) 
b = [b data{i,1}(1)]; 
end