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