# Comparing elements within a cell array

1 view (last 30 days)
lucksBi on 18 Aug 2018
Commented: Rik on 18 Aug 2018
Hi everyone, I have two cell arrays x and y. I want compare values of x based on y. Like x{1,1} in y contains [2,4]. So it will compare 1st element of x which is [4,7,8] with 2nd and 4th element of x and get the common values. then 2nd element of x is compared with 1st and 4th element of x because 2nd element of x is [1,4] and so on.
x= {[4,7,8];[1,5,6];[1,7,8],[1,4]}
y= {[2,4];[1,4];[1,2,4],3}
Result will look like this:
result{1,1} = {0;[7,8]} %comparison of x{1,1} with x{2,1} and x{4,1}
result{2,1}= {0;1} %comparison of x{2,1} with x{1,1} and x{4,1}
result{3,1}= {[7,8];1;1} %comparison of x{3,1} with x{1,1}, x{2,1} and x{4,1}
result{4,1}={1} %comparison of x{4,1} with x{3,1}
Zero is placed where there is no common values found.
##### 3 CommentsShow 1 older commentHide 1 older comment
lucksBi on 18 Aug 2018
Edited: lucksBi on 18 Aug 2018
Sorry about that.. Actually zero is replaced with empty value.
Actually i want to do it without using loops because i have a large dataset on which i will run the code
Rik on 18 Aug 2018
I doubt there is a direct method of doing this. You could try to parallelize this by using parfor or cellfun.