Compare elements within cell array

1 view (last 30 days)
Tha saliem
Tha saliem on 28 Dec 2017
Commented: Tha saliem on 2 Jan 2018
Hi all
I have a cell array A
A={[1x4 cell];[1x3 cell];[1x5 cell]}
A{1,1}= {[1,-0.03,0.1,1.3,0,0.23,1,0,0.2],[1,0.6,0.1,2,0,0.6,0.6,0,0.6],[1,-0.15,0,1.4,0,0.35,1,0,0.3],[2,-0.2,0.1,3,0,0.4,0,0,0.4]}; similarly values for other A{2,1} and A{3,1}
I want to compare all elements of A with every other element. Like A{1,1}{1,1} with A{1,1}{1,2}, A{1,1}{1,3} and A{1,1}{1,4} and similarly A{1,1}{1,2} with all others to find which one is less. If every single element (col values) is less it means that row is less than other row. store index of that row in a separate array. and same for other elements of A.
Kindly help.

Accepted Answer

KSSV
KSSV on 28 Dec 2017
YOu can get the minimum value of each cell using cellfun and min.
A{1,1}= {[1,-0.03,0.1,1.3,0,0.23,1,0,0.2],[1,0.6,0.1,2,0,0.6,0.6,0,0.6],[1,-0.15,0,1.4,0,0.35,1,0,0.3],[2,-0.2,0.1,3,0,0.4,0,0,0.4]};
cellfun(@min,A{1})
  4 Comments
Tha saliem
Tha saliem on 28 Dec 2017
Edited: Tha saliem on 28 Dec 2017
Thank you so much. I got the idea of doing it. One more thing i want to ask is that using this code I can compare row1 with row2 row3 and row4. I want to compare remaining rows with each other as well. Like row2 with row1 row3 and row 4. Row3 with row1 row2 and row4 and similarly other rows.
Is there any simple way to do it without writing this statement for every single row or using loops. because i have a large dataset on which this comparison will be done.
Tha saliem
Tha saliem on 2 Jan 2018
Can you please help on this question because you have solved the problem related to it here:
https://www.mathworks.com/matlabcentral/answers/375162-get-row-no-where-comparison-gives-1

Sign in to comment.

More Answers (0)

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!