Select values from cell array with condition using cellfun

3 vues (au cours des 30 derniers jours)
Song JL
Song JL le 19 Fév 2020
Commenté : Song JL le 19 Fév 2020
Hi..
I need help for selecting values in cell array
for example i have this cell array:
A = {[1,1,2; 2,2,3],[1,3,4; 3,2,4],[4,3,2;-2,-3,1];[1,2,5; 2,9,8],[1,1,4; 3,8,9],[1,8,4;-6,-9,5];[1,2,3; 4,3,1],[1,4,4; 2,5,3],[1,3,2;-9,6,7]};
Then, i want to select the value that doesn't have number more than 5 and more than -5
expected result:
result = {[1,1,2;2,2,3];[1,3,4;3,2,4];[1,2,3;4,3,1];[1,4,4;2,5,3];[4,3,2;-2,-3,1]}
the code that i have tried only can select value of the condition
T = cellfun(@(n) any(any(n > 5 | n < -5)), A, 'UniformOutput', true);
Res = A(T);
Res = {[1,2,5;2,9,8];[1,1,4;3,8,9];[1,8,4;-6,-9,5];[1,3,2;-9,6,7]}
Any idea how to solve it ?
Thanks in Advance..

Réponse acceptée

Bhaskar R
Bhaskar R le 19 Fév 2020
Modifié(e) : Bhaskar R le 19 Fév 2020
Res = A(find(~cellfun(@(x)any(x>5 | x<-5, 'all'), A)));
  5 commentaires
Song JL
Song JL le 19 Fév 2020
Thank you

Connectez-vous pour commenter.

Plus de réponses (1)

madhan ravi
madhan ravi le 19 Fév 2020
Modifié(e) : madhan ravi le 19 Fév 2020
A(cellfun(@(x) all(all(x>-6 & x<6)), A)) % for versions 2018b>= usage of all() would be all(...,[1,2])

Catégories

En savoir plus sur Structures dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by