matlab中如何比较数组

matlab中。我有两个很大的数组。我想比较它们是否相等。若我直接用“==”比较的话,它将两个数组中的各自对应的元素进行逐个比较,结果就返回一个很大的数组。请问,可不可以只返还一个数,就是相等是1,不等是0的指令。

问题问的不是很详细,将matlab中的两个数组进行比较,不知道您希望返回什么结果?

可能有以下几种情况:

    您希望将两个数组的每一个对应项比较,算出插值(要求两个数组的长度相同)

    %%%%%%以下为代码

    C=A-B;
    那么C数组中保存的即为AB两个数组的插值

    您希望将两个数组的每一个对应项比较,若A数组中的比B数组中的这一项大,这一项标记为1,否则返回0

    %%%%%%以下为代码

    C=A-B;

    [m,n]=size(C);

    for i=1:m

           for j=1:n

                  if  C[i,j]>0

                       C[i,j]=1;

                  end

           end

      end 

     C即为您需要的数组。

 3. 判断A,B两个数组是否相等,相等返回数值1,不等返回数值2.

     %%%%%%以下为代码

   a=A-B;
   f=sum(sum(a.*a))%判断是否全为零
   if(f==0)
      b=0;%b为返回值
   end
      else
          b=1;
       end

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-09-10
两个数组相减,如果结果是0数组,那么就是相等
第2个回答  2010-09-10
a=A-B;
f=sum(sum(a.*a))%判断是否全为零
if(f==0)
b=0;%b为返回值
end
else
b=1;
end本回答被提问者采纳