matlab程序怎么实现0,1两个数填五个空?就是说每个空只能取1或0,如果是5个空的话就有2^5=32种情况,怎么样才能输出这32种结果呢?用MATLAB程序实现.谢谢!

来源:学生作业帮助网 编辑:六六作业网 时间:2024/05/12 22:35:38
matlab程序怎么实现0,1两个数填五个空?就是说每个空只能取1或0,如果是5个空的话就有2^5=32种情况,怎么样才能输出这32种结果呢?用MATLAB程序实现.谢谢!matlab程序怎么实现0,

matlab程序怎么实现0,1两个数填五个空?就是说每个空只能取1或0,如果是5个空的话就有2^5=32种情况,怎么样才能输出这32种结果呢?用MATLAB程序实现.谢谢!
matlab程序怎么实现0,1两个数填五个空?
就是说每个空只能取1或0,如果是5个空的话就有2^5=32种情况,怎么样才能输出这32种结果呢?
用MATLAB程序实现.谢谢!

matlab程序怎么实现0,1两个数填五个空?就是说每个空只能取1或0,如果是5个空的话就有2^5=32种情况,怎么样才能输出这32种结果呢?用MATLAB程序实现.谢谢!
%by dynamic
%see also http://www.matlabsky.com
%contact me [email protected]
%2009.2.
%
clc
clear
B=[];
for ii=1:5
select=nchoosek(1:5,ii);
[m,n]=size(select);
r_num=repmat([1:m]',n,1);
c_num=select(:);
index=sub2ind([m 5],r_num(:),c_num);
A=ones(m,5);
A(index)=0;
B=[B;A];
end
%注意上面有一种全部为1的面没有包括,如果包括这一种正好32种
%还有该程序不适合很大数据的排列
%但是对于几十个没有什么问题
B =
0 1 1 1 1
1 0 1 1 1
1 1 0 1 1
1 1 1 0 1
1 1 1 1 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
0 1 1 1 0
1 0 0 1 1
1 0 1 0 1
1 0 1 1 0
1 1 0 0 1
1 1 0 1 0
1 1 1 0 0
0 0 0 1 1
0 0 1 0 1
0 0 1 1 0
0 1 0 0 1
0 1 0 1 0
0 1 1 0 0
1 0 0 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
0 0 0 0 1
0 0 0 1 0
0 0 1 0 0
0 1 0 0 0
1 0 0 0 0
0 0 0 0 0

使用5次if语句
if a==0
disp('0') %输出0
else
disp('1') %输出1
end
不断使用if语句5次

de2bi(0:2^5-1)