compare a vector with every cells element and get the missing

hi . i have a vector V=[1:100] and a C=cell(1-n) with double[] values . how could i get the values in the vector that are not in any element of cell ? and another question : how could i get a vector with repeats of elements in cell ? for example if there are three 2 in the all elements of cell , in my vector index(2) i have 2 ? thanks a lot !.

2 comentarios

Adam
Adam el 7 de Ag. de 2017
Editada: Adam el 7 de Ag. de 2017
Convert C to numeric and use
doc ismember
The second question is basically just a histogram isn't it?
doc histogram
@Adam i will look into it . thanks .

Iniciar sesión para comentar.

 Respuesta aceptada

Use setdiff inside cellfun:
V = 1:100;
C = {randi(100, 1, 75)}; % Create ‘C’
Out = cellfun(@setdiff, {V}, C, 'Uni',0); % Use ‘setdiff’
Result = [Out{:}] % Dsiplay Result (Not Necessary For The Code)

4 comentarios

Hamid Salari
Hamid Salari el 7 de Ag. de 2017
Editada: Hamid Salari el 7 de Ag. de 2017
@Star Strider . it works on a cell 1*1 . but my cell is 1*n and i need to check all the elements of cell .
Error using cellfun All of the input arguments must be of the same size and shape. Previous inputs had size 1 in dimension 2. Input #3 has size 12
It is necessary to use a loop to get separate outputs from each comparison of the elements of ‘C’. (Using repmat with ‘{V}’ fails to do this.)
This should work:
V = 1:100;
C = {randi(100, 1, 75), randi(100, 1, 55)}; % Create ‘C’
for k1 = 1:size(C,2)
Out{k1} = cellfun(@setdiff, {V}, C(k1), 'Uni',0); % Use ‘setdiff’
end
Result = [Out{:}]; % Dsiplay Result (Not Necessary For The Code)
I do not know what size ‘C’ is, so I am assuming it is (1 x n). If it is (n x 1), change the size dimension to ‘size(C,1)’. (You could also use the length function, but without knowing more about ‘C’, I hesitate to suggest it.)
@Star Strider. i got the idea behind it . thanks . my current cell is 1*12.
My pleasure.
My code should work with it as written.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Productos

Etiquetas

Preguntada:

el 7 de Ag. de 2017

Comentada:

el 7 de Ag. de 2017

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by