有没有可能用matlab做两个二进制矩阵的乘法运算?结果也是二进制的
2个回答
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。
我这种当然不是从矩阵乘法计算的细节出发编的程序,只是有些取巧,不知达到要求没有
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。
[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。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询