Remove negative values of elements in a cell array

12 visualizaciones (últimos 30 días)
Benedict Low
Benedict Low el 6 de Sept. de 2017
Comentada: Benedict Low el 6 de Sept. de 2017
Hi,
I have a large cell array and each element of the array has matrices of different sizes. Is there a way that I can remove negative values from the cell array, such that it only contains positive values?
I have a simple example here
a={[3,5,-1,4];[-6,7,12];[2,9,7,-4,-5,-6,8]};
How can I remove the negative numbers such that it becomes
a={[3,5,4];[7,12];[2,9,7,8]};
Thanks in advance.

Respuesta aceptada

Guillaume
Guillaume el 6 de Sept. de 2017
a = cellfun(@(v) v(v >= 0), a, 'UniformOutput', false);
Or use an explicit loop:
for idx = 1:numel(a)
a{idx} = a{idx}(a{idx} >= 0);
end

Más respuestas (0)

Categorías

Más información sobre Data Type Conversion 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!

Translated by