有没有可能用matlab做两个二进制矩阵的乘法运算?结果也是二进制的

 我来答
匿名用户
2016-05-11
展开全部
我是自己做了一个函数(才学习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。

我这种当然不是从矩阵乘法计算的细节出发编的程序,只是有些取巧,不知达到要求没有
匿名用户
推荐于2018-04-06
展开全部
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。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式