Предположим, у меня есть следующий код
mc = {[2 5],[2 5],[8 9 2],[33 77 4],[102 6],[110 99],[2 5]}
(Идентификация уникальных элементов в массиве ячеек: Ответ Джонаса):
%# convert to strings
mcs = cellfun(@(x)(mat2str(x)),mc,'uniformoutput',false);
%# run unique
[uniqueCells,idxOfUnique,idxYouWant] = unique(mcs);
fileName = ['C:\Users\MATLAB\matrice_Result.mat'];
save(fileName,'uniqueCells');
чтобы загрузить результат и использовать его как ячейку, Могу ли я это сделать?:
load('C:\Users\MATLAB\matrice_Result.mat');
A = uniqueCells;
B = [5 77 41 66 7];
(Нахождение векторов ячейки A, содержащих хотя бы один элемент вектора B: Ответ Дивакара)
R = A(arrayfun(@(n) any(ismember(B,A{n})),1:numel(A)));
У меня такое впечатление, что второй код не распознает A!!!
B
это числа,A{n}
это строки. Конечноismember
будет всеfalse
- person Luis Mendo   schedule 27.01.2015