Access difference between 3 dimensional matrices

1 view (last 30 days)
I have two matrices,A is a 1000*1000*3 matrix and B is another matrix that started out as A and due to changes made during the code is a different 1000*10000*3 matrix. I would like to find out the position and the number of elements that have not changed. This for two D matrices can be done with setdiff, is there any way I can do this for 3D matrices? Thanks

Accepted Answer

Matt J
Matt J on 28 Jun 2013
[i,j,k] = ind2sub(size(A), find(A==B));
NumberUnchanged=length(i);
  4 Comments
Samadrita
Samadrita on 28 Jun 2013
Sorry about not mentioning RGB! [i,j] is still a matrix bigger than my original matrix at 25609092x2 . I also tried simply find(all(A==B)),that is a 933X1 matrix. Would that give me the number of unchanged values? Or am I misunderstanding something? Thanks for commenting.
Matt J
Matt J on 28 Jun 2013
[i,j] is still a matrix bigger than my original matrix at 25609092x2
No, I don't think it's bigger
>> 5052*6492>25609092
ans =
1

Sign in to comment.

More Answers (0)

Categories

Find more on Image Processing Toolbox in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!