MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today**New to MATLAB?**

Asked by Samadrita
on 28 Jun 2013

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

Answer by Matt J
on 28 Jun 2013

Accepted answer

[i,j,k] = ind2sub(size(A), find(A==B));

NumberUnchanged=length(i);

Show 1 older comment

Matt J
on 28 Jun 2013

Yep, you never mentioned anything about these being RGB images, but the modification is easy

[i,j]=find(all(A==B,3));

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.

## 0 Comments