compare two matrices

조회 수: 612 (최근 30일)
Ellen
Ellen 2011년 5월 23일
답변: Mirza Riyasat Ali 2022년 11월 12일
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
João Peixoto
João Peixoto 2015년 10월 13일
have you tried? result = A==B;
SALAR SHAIKHAH
SALAR SHAIKHAH 2016년 11월 25일
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

댓글을 달려면 로그인하십시오.

채택된 답변

Sean de Wolski
Sean de Wolski 2011년 5월 23일
  댓글 수: 3
Sincloe Brans
Sincloe Brans 2014년 8월 12일
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 2014년 8월 12일
isequal
Sincloe, please ask this as a new question next time!

댓글을 달려면 로그인하십시오.

추가 답변 (4개)

Shubham Patel
Shubham Patel 2019년 3월 6일
Use this
isequal(A,B)
  댓글 수: 1
AMAN GAUTAM
AMAN GAUTAM 2019년 8월 16일
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

댓글을 달려면 로그인하십시오.


Kiarash Ahi
Kiarash Ahi 2014년 7월 21일
편집: Kiarash Ahi 2014년 7월 21일
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
Niko
Niko 2014년 8월 12일
Salah Alhaithemy
Salah Alhaithemy 2016년 3월 10일
isempty(find(A==B))

댓글을 달려면 로그인하십시오.


kevin harianto
kevin harianto 2022년 4월 4일
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 2022년 11월 12일

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by