作者peter0318 (阿玮)
看板MATLAB
标题Re: [问题] 多数决的方法
时间Fri Feb 22 18:40:18 2013
※ 引述《show109 (yu)》之铭言:
假设我有三个阵列 数字分别为..
1.1001 1101
2.1010 0100
3.1100 1101
利用多数决 产生一个常用的阵列
Ans: 1000 1101 这是我要的结果
因为我是一直用if设条件给它 这麽一直要设很多条件
要设8个条件 才能完成我要的结果
不知有没有更快速的方法
N = 3; % Matrix Number=3 (X1,X2,X3)
L = 4; % 4-bit
Group = 2; % 2 groups
X1 = [ 1001 1101 ]
% →4-bit←
X2 = [ 1010 0100 ]
% → 2 Groups ←
X3 = [ 1100 1101 ]
X = X1 + X2 + X3;
X = reshape( X, Group, 1 );
str_X = int2str(X);
Y = int2str( zeros(Group,1) );
for G=1:Group
for n=1:L
if( str_X(G,n) > int2str(N-2) )
Y(G,n)='1';
else
Y(G,n)='0';
end
end
end
Y = str2num(Y);
Y = reshape(Y,1,[])
※ 编辑: peter0318 来自: 140.113.128.199 (02/23 12:20)
1F:→ peter0318:已更正 02/23 12:20