MATLAB: Subtract two matrices each with NaN values in different cells

nan matrices subtraction

Hello,
I am a complete beginner at matlab. I want to calculate how many cells in two matrices match i.e. how many cells in matrix A and matrix B both contain a value. However, I run into problems with 0 values. If I simply subtract the two matrices, matlab won't make a calculation if one of the cells in A or B is NaN which I need it to. Is there a way to tell matlab to use NaN as 0 if the corresponding cell in the other matrix has a value>0? I also need to be the output matrix to show if the subtraction of the two cells produces a 0 i.e. both cells contained a value but were of equal value so matlab returns a 0 and thus it wouldn't be counted as a match. Put simply, I need to be able to distinguish between a case where there is no value in a specific cell in either A and B versus when the specific cell in A and B are equal in value and thus return a 0 value (or as matlab produces it as NaN).
See below example:
A =
[NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN 2 NaN NaN NaN NaN NaN NaN NaN
NaN NaN 1 1 NaN NaN NaN NaN NaN NaN
NaN NaN 3 2 NaN NaN NaN NaN NaN NaN
NaN NaN 2 4 1 NaN NaN NaN NaN NaN
NaN 1 NaN 4 NaN NaN NaN NaN NaN NaN
NaN NaN NaN 3 1 NaN NaN NaN NaN NaN
NaN NaN NaN NaN 3 2 NaN NaN NaN NaN
NaN NaN NaN 1 1 1 NaN NaN NaN NaN
NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN
NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN]
B =
[NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2 1 NaN NaN NaN NaN NaN NaN NaN NaN
1 NaN NaN NaN 1 NaN NaN NaN NaN NaN
NaN 1 2 NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN
NaN NaN NaN 3 1 NaN NaN NaN NaN NaN
NaN NaN NaN 5 2 1 NaN 1 NaN NaN
NaN NaN NaN NaN 1 1 NaN NaN NaN NaN
NaN NaN NaN NaN NaN 2 2 NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN 1 NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
]
What I would like:
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-2 -1 NaN NaN NaN NaN NaN NaN NaN NaN
-1 NaN -2 NaN -1 NaN NaN NaN NaN NaN
NaN 0 -1 1 NaN NaN NaN NaN NaN NaN
NaN NaN 3 2 -1 NaN NaN NaN NaN NaN
NaN NaN 2 1 0 NaN NaN NaN NaN NaN
NaN 1 NaN -1 -2 -1 NaN -1 NaN NaN
NaN NaN NaN 3 0 -1 NaN NaN NaN NaN
NaN NaN NaN NaN -3 0 2 NaN NaN NaN
NaN NaN NaN 1 1 1 NaN NaN -1 NaN
NaN NaN NaN NaN NaN -1 NaN NaN NaN NaN
NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
What matlab currently returns:
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN -1 NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN 1 0 NaN NaN NaN NaN NaN
NaN NaN NaN -1 NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN 0 NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN 0 NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
Thanks!

Best Answer

>> X = cat(3,A,-B);
>> Z = nansum(X,3);
>> Z(all(isnan(X),3)) = NaN
Z =
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-2 -1 NaN NaN NaN NaN NaN NaN NaN NaN
-1 NaN 2 NaN -1 NaN NaN NaN NaN NaN
NaN -1 -1 1 NaN NaN NaN NaN NaN NaN
NaN NaN 3 2 -1 NaN NaN NaN NaN NaN
NaN NaN 2 1 0 NaN NaN NaN NaN NaN
NaN 1 NaN -1 -2 -1 NaN -1 NaN NaN
NaN NaN NaN 3 0 -1 NaN NaN NaN NaN
NaN NaN NaN NaN 3 0 -2 NaN NaN NaN
NaN NaN NaN 1 1 1 NaN NaN -1 NaN
NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN
NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN