我有一个持久的单元格数组,在一个单元格中应该有一个三维数组,其中从lookUp数组中选择页面数。我希望单元格被逻辑数组索引,希望多维数组中的页数(第3维)由同一个逻辑数组来选择。我试图避免使用for循环,因为元素的数量非常多。
有办法吗?由于最大页数为8,我正在考虑放弃,只为所有数组分配8页。
%elements is a list of indexes
elements = 1:5;
%notInitialized is a logical stating that the cell of a element should be
notInitialized = logical(elements>2);
%initialized in the cell array cValuesSaved
lookUpOfNumberofPages = 4:8;
%persistent cValuesSaved
cValuesSaved = cell(numel(elements), 2); % two cells per elements
%I am not good at matlab, but my guess the code I want should look something like this:
cValuesSaved{notInitialized, 1} = nan(4, 2*3, lookUpOfNumberofPages(notInitialized));发布于 2015-04-08 15:29:18
所以我解决了,如果你想的话,这就是我的解决方案。创建a1、a2、a3并不是最漂亮的方法,但我很着急。
感谢那些看了一眼的人!
array = nan(numel(elements), 3);
array(:,1) = 4;
array(:,2) = 2*3;
array(:,3) = lookUpOfNumberofPages;
a1 = array(:,1);
a2 = array(:,2);
a3 = array(:,3);
test2 = arrayfun(@nan, a1, a2, a3, 'UniformOutput', 0);
cValuesSaved(notInitialized,1) = test2(notInitialized);https://stackoverflow.com/questions/29518108
复制相似问题