compare two matrices

473 次查看(过去 30 天)
Ellen
Ellen 2011-5-23
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?

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 中查找有关 Resizing and Reshaping Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by