Borrar filtros
Borrar filtros

Is it possible to receive an output of non-equivalence in a given range?

1 visualización (últimos 30 días)
I have a 64x11 table consisting of values between the numbers 1 and 10, is it possible to retreive all values the numbers in a given row are not equal to?
e.g. row 1, consists of the numbers: 1 3 4 5 5 8 2 4 1 1 1
is it possible to receive an output of all of the values 1 to 10 that none of these values are equal to: 6 7 9 10

Respuesta aceptada

Walter Roberson
Walter Roberson el 7 de Jun. de 2019
result = rowfun(@(varargin) setdiff(1:10, cell2mat(varargin)), YourTable, 'OutputFormat', 'cell')
  4 comentarios
Walter Roberson
Walter Roberson el 8 de Jun. de 2019
rowfun applied to a table is a bit odd, in that it breaks the values out to one per variable -- which makes some sense in the context of a table because table variables can be mixed data types.
In this context that means that rowfun is going to pass in 11 different variables to the function. That is a bit of a nuisance to deal with by name. Fortunately all of them are numeric, so we can have MATLAB bundle them all together into a cell by using varargin, and we can convert that cell to vector with cell2mat.
madhan ravi
madhan ravi el 8 de Jun. de 2019
Well explained sir Walter that’s why you’re MATLAB’s GOAT.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Data Type Conversion en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by