我有两个矩阵,取决于选择还有其他一些计算。例如假设:
A =
8 9 3
9 6 5
2 1 9
和
B =
11 9 11 8 2
2 2 8 9 8
11 5 1 9 1
11 11 10 5 4
6 9 11 8 1
现在,我会选择其中一个作为新的matirix
C = A;
C = B;
如果我使用以下if
条件,我会出错。
if C==A
%do some computation
else if C == B
%do some other computation
else
%print an error
因为矩阵的维数不相等,所以我有一个错误。请您告诉我如何以正确的方式表达这一点?
答案 0 :(得分:5)
MATLAB提供了一个评估数组相等性的函数:isequal
。
所以试试:
if isequal(C,A)
%do some computation
else if isequal(C,B)
%do some other computation
else
%print an error
答案 1 :(得分:3)
您可以为尺寸添加另一个条件,请注意,如果尺寸条件不成立,则不会检查第二个条件,因此您不会收到错误:
if all(size(C)==size(A)) && all(C==A)
%do some computation
elseif all(size(C)==size(B)) && all(C == B)
%do some other computation
else
%print an error
end
另请注意,条件应为all(C==A)
。