Checking Cell Array for positive numbers
10 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Tessa Aus
el 16 de Jun. de 2016
I have a (:,1) array which should be in a range of 0>ArrayValues>-150. What would I use to check to see if any are out of the range, and then list how many are out of the range. I have tried sum(), and Array<0.
2 comentarios
Thorsten
el 21 de Jun. de 2016
It would be helpful to upload your data, or at least a minimal version that reproduces the errors you describe below.
Respuesta aceptada
Star Strider
el 16 de Jun. de 2016
Editada: Star Strider
el 16 de Jun. de 2016
Try this:
ArrayValues = randi([-200, 50], 1, 100); % Create Data
OutOfRange = (ArrayValues > -150) & (ArrayValues < 0); % Logical Vector, Use ‘find’ To Get Indices
NrOutOfRange = sum(OutOfRange);
EDIT — If ‘ArrayValues’ is a cell array, this works:
ArrayValues = {randi([-200, 50], 1, 100)}; % Create Data
OutOfRange = cellfun(@(x) (x > -150) & (x < 0), ArrayValues, 'Uni',0); % Use ‘cellfun’
NrOutOfRange = sum(OutOfRange{:}); % Change To Address Cell Array
6 comentarios
Star Strider
el 21 de Jun. de 2016
I don’t have either your data or a clear idea of what you want to do, so I have no further thoughts.
You can remove the ‘'Uni',0’ if you want, although I seriously doubt it’s the problem.
Más respuestas (1)
Ver también
Categorías
Más información sobre Matrix Indexing 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!