manipulate a method contain to compare two lists
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
mazari ahmed
el 8 de Mzo. de 2015
Respondida: mazari ahmed
el 14 de Mzo. de 2015
l have trouble with the code below. l want to compare two lists of elements to : 1)know wether the neighbours of j are included in k 2)know wether the set of j is equal to k
but matlab returns me an error
if (contains(neighbour_n{k}, neighbour_n{j})||(neighbour_n{j}==neighbour_n{k}));
Undefined function or method 'contains' for input arguments of type 'double'.
0 comentarios
Respuesta aceptada
Guillaume
el 8 de Mzo. de 2015
contains is not a standard matlab function. You can test set membership wih ismember. it'll return a vector of [true, false] values, so if you just want a scalar, yo need to use all.
Similarly, == returns a vector of [true, false] and only works if both matrices / vectors being compared are the same size. To test that two (sorted) sets are identical you'd use |isequal
Thus,
if all(ismember(neighbour_n{j}, set_n{k})) && isequal(set_n{j}, set_n{k})
%do something
0 comentarios
Más respuestas (2)
Jan
el 8 de Mzo. de 2015
The error message tells you, that there is no function called "contains". Why do you assume that there is such a function?
Are you sure that you need the elementwise comparison "==" or would isequal be better?
0 comentarios
Ver también
Categorías
Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!