Matlab:如果条件是两个矩阵的维数不相等的话

时间:2015-02-19 10:18:10

标签: matlab formula

我有两个矩阵,取决于选择还有其他一些计算。例如假设:

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

因为矩阵的维数不相等,所以我有一个错误。请您告诉我如何以正确的方式表达这一点?

2 个答案:

答案 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)