Remove negative values of elements in a cell array

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.

 채택된 답변

Guillaume
Guillaume 2017년 9월 6일
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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Cell Arrays에 대해 자세히 알아보기

질문:

2017년 9월 6일

댓글:

2017년 9월 6일

Community Treasure Hunt

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

Start Hunting!

Translated by