Identifying same values of two arrays

1 view (last 30 days)
Mia Dier
Mia Dier on 26 Jun 2021
Answered: Cris LaPierre on 26 Jun 2021
I have two string arrays: array1 and array2. I want to create a variable named change that is equal to 0 if array1 and array2 are equal or one of them is NaN and 1 otherwise.
array1 array2 change
A A 0
A A 0
A C 1
C C 0
C C 0
NaN B 0
Mia Dier
Mia Dier on 26 Jun 2021
Dear Soniya,
I edited my question and fixed that part. I couldn't come up any solution other than assigning unique numbers to each value, taking difference of the arrays and creating variable change that is equal to 1 if the difference is not 0. But I'm trying to find an easier way.
Dear Scott,
array1 and array2 are string arrays. So, I believe that they store string literals.
Thank you for your comments. I hope the question makes more sense now.

Sign in to comment.

Accepted Answer

Cris LaPierre
Cris LaPierre on 26 Jun 2021
Note that nan means not a number. When the rest of your data is chars or strings, nan actually gets convereted to <missing>.
array1 = ["A" "A" "A" "C" "C" nan]';
array2 = ["A" "A" "C" "C" "C" "B"]';
array1(ismissing(array1)) = array2(ismissing(array1));
array2(ismissing(array2)) = array1(ismissing(array2));
change = array1~=array2
change = 6×1 logical array
0 0 1 0 0 0

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by