compare two matrices

500 Ansichten (letzte 30 Tage)
Ellen
Ellen am 23 Mai 2011
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 Kommentare
João Peixoto
João Peixoto am 13 Okt. 2015
have you tried? result = A==B;
SALAR SHAIKHAH
SALAR SHAIKHAH am 25 Nov. 2016
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

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Sean de Wolski
Sean de Wolski am 23 Mai 2011
result = A==B;
  3 Kommentare
Sincloe Brans
Sincloe Brans am 12 Aug. 2014
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)?
Sean de Wolski
Sean de Wolski am 12 Aug. 2014
isequal
Sincloe, please ask this as a new question next time!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (4)

Shubham Patel
Shubham Patel am 6 Mär. 2019
Use this
isequal(A,B)
  1 Kommentar
AMAN GAUTAM
AMAN GAUTAM am 16 Aug. 2019
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

Melden Sie sich an, um zu kommentieren.


Kiarash Ahi
Kiarash Ahi am 21 Jul. 2014
Bearbeitet: Kiarash Ahi am 21 Jul. 2014
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 Kommentare
Niko
Niko am 12 Aug. 2014
Salah Alhaithemy
Salah Alhaithemy am 10 Mär. 2016
isempty(find(A==B))

Melden Sie sich an, um zu kommentieren.


kevin harianto
kevin harianto am 4 Apr. 2022
Is there documentation to check whether a matric is greater than in terms of size for each of the dimensions?

Mirza Riyasat Ali
Mirza Riyasat Ali am 12 Nov. 2022

Kategorien

Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by