【发布时间】:2018-12-06 15:21:53
【问题描述】:
我有一个单元格数组,例如 3 个单元格,其中单元格是 (3,8)、(3,2)、(3, 30) 矩阵,现在我想在不转换的情况下访问整个数据的第 n 列我的单元格到矩阵,例如,如果我搜索第 8 列,它必须是第 3 个单元格的第二列。一种方法是将其转换为矩阵,但我的单元格太长,当我尝试将整个单元格转换为矩阵时,它会让我内存不足。然后我尝试了下面的代码,但它不能正常工作。我想知道我做错了什么。
感谢任何帮助。
function [col,i,idx] = find_cellCol(cel, idx)
lgh = length(cel);
i = 1;
me = zeros(2,length(cel));
while( i <= lgh && length(cel{1,i})<=idx)
idx = idx - length(cel{1,i});
i = i+1;
end%end while
if idx == 0
col = cel{1,i-1}(:,end);
else
col = cel{1,i}(:,idx);
end
end
【问题讨论】:
-
length(x)与max(size(x))相同。您想使用size(x,2)来获取数组中的列数。
标签: matlab out-of-memory cell cell-array