有没有可能用matlab做两个二进制矩阵的乘法运算?结果也是二进制的
function [out] = bin_matix_multi( matr1,matr2 )
[a,b]=size(matr1);
[c,d]=size(matr2);
if b ~= c
disp('The two matrixs can not multiply!!')
else
op_1=matr1*matr2;
for i = 1:a
for j = 1:d
if mod(op_1(i,j),2)==0
op_1(i,j)=0;
else
op_1(i,j)=1;
end
end
end
end
out=op_1;
end
其中matr1,matr2是要相乘的两个函数,当然这两个矩阵就是1和0构成的。所以按照十进制运算,结果中会有偶数和奇数,如果是偶数说明按照二进制计算结果就是0,否则就是1;所以根据这个规律,我使用这个求余的判断式mod(op_1(i,j),2)==0。
赞0
踩0