compare two matrices

Hi,
I want to compare two matrices for equal values, and I want to know if there is a build-in function to do this. Ihaven't been able to find it in the MATLAB help.
example: A=[1 2 3; 4 5 6; 7 8 9] B=[9 8 7; 6 5 4; 3 2 1] this should return something like result=[0 0 0;0 1 0;0 0 0] so I can see there is an equal number on the same position in both matrices and the position that it is in.
Thanks!
Ellen

2 Comments

have you tried? result = A==B;
You can do as: C=A==B, The matrix C will contain the result of comparison... For more comparison, you can see following link: https://www.mathworks.com/help/matlab/matlab_prog/array-comparison-with-relational-operators.html

Sign in to comment.

 Accepted Answer

result = A==B;

3 Comments

Ellen
Ellen on 23 May 2011
Thanks so much.
Sometimes the answer is so simple, you don't think about it
This doesn't work for two matrix with different dimensions, any way to compare two matrix with different rows and same number of column (eg A=50*16 vs B=100*16)?
isequal
Sincloe, please ask this as a new question next time!

Sign in to comment.

More Answers (4)

Use this
isequal(A,B)

1 Comment

Sir,Why its result is "Non orthogonal".While all element of inverse matrix R1 and R_UTOF is same, Please tell mistakes-
angle=input('Enter euler angle in order');
alpha=(pi/180).*angle(1,1);
beta=(pi/180).*angle(1,1);
gama=(pi/180).*angle(1,1);
R_z_alpha=[cos(alpha) -sin(alpha) 0;sin(alpha) cos(alpha) 0;0 0 1];
R_y_beta=[cos(beta) 0 -sin(beta);0 1 0;sin(beta) 0 cos(beta)];
R_x_gama=[1 0 0;0 cos(gama) -sin(gama);0 sin(gama) cos(gama)];
disp('Rotation matrix is ');
R_UTOF=R_z_alpha*R_y_beta*R_x_gama; % rotation converson matrix from Universal to final frame
disp(R_UTOF);
disp('Transpose of rotation matrix is');
disp(R_UTOF');
disp('Inverse of rotation matrix is');
R1=inv(R_UTOF);
disp(R1);
if isequal(R1,R_UTOF')
disp("Rotation matrix is Orthogonal");
else
disp("Rotation matrix is non Orthogonal");
end

Sign in to comment.

Kiarash Ahi
Kiarash Ahi on 21 Jul 2014
Edited: Kiarash Ahi on 21 Jul 2014

1 vote

How if I want two compare the two matrices and get only one digit; I mean 1 if both were the same and 0 if at least two element of the matrices differ?

3 Comments

Kiarash Ahi
Kiarash Ahi on 21 Jul 2014
Edited: Kiarash Ahi on 21 Jul 2014
I have just found the answer to my question:
find(A~=B)
isequal(A,B)
isempty(find(A==B))

Sign in to comment.

kevin harianto
kevin harianto on 4 Apr 2022

0 votes

Is there documentation to check whether a matric is greater than in terms of size for each of the dimensions?

Categories

Find more on Mathematics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!