Identifying same values of two arrays

1 次查看(过去 30 天)
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
  3 个评论
Scott MacKenzie
Scott MacKenzie 2021-6-26
Further to @Soniya Jain's comment, what are A, B, and C in array1 and array2? Are they variables? Or, are they character or string literals? If they are variables, what type of data do they hold?
Mia Dier
Mia Dier 2021-6-26
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.

请先登录,再进行评论。

采纳的回答

Cris LaPierre
Cris LaPierre 2021-6-26
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Numeric Types 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by