2014-11-20 108 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