MATLAB: Compare string array columns for equality then display all non-equal rows

equalityMATLABstrcmp

Hello, I have 2 column string array data formatted like this:
x = ["1","2 2 0"; "2", "2 1 1"; "3", "1 1 0"; "4", "1 1 1"]
>>
"1" "2 2 0"
"2" "2 1 1"
"3" "1 1 0"
"4" "1 1 1"
y = ["1","x x x"; "2", "2 1 1"; "3", "1 1 0"; "4", "x x x"]
>>
"1" "x x x"
"2" "2 1 1"
"3" "1 1 0"
"4" "x x x"
I want to compare the second column for equality then display the entire rows that are different. So, first get the logical:
idx = x == y
>>
1 0
1 1
1 1
1 0
Now I am struggling to index back in (e.g. y(idx)) and display the non matching results like this for y:
"1" "x x x"
"4" "x x x"
and related:
for x
"1" "2 2 0"
"4" "1 1 1"
I'm only able to return a vertical 4 x 1 instead of 2 x 2. Thanks!

Best Answer

>> y(x(:,2)~=y(:,2),:)
ans =
2×2 string array
"1" "x x x"
"4" "x x x"
>>