matlab程序怎么实现0,1两个数填五个空?
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/23 14:56:54
matlab程序怎么实现0,1两个数填五个空?
就是说每个空只能取1或0,如果是5个空的话就有2^5=32种情况,怎么样才能输出这32种结果呢?
用MATLAB程序实现.谢谢!
就是说每个空只能取1或0,如果是5个空的话就有2^5=32种情况,怎么样才能输出这32种结果呢?
用MATLAB程序实现.谢谢!
%by dynamic
%see also http://www.matlabsky.com
%contact me matlabsky@gmail.com
%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
%see also http://www.matlabsky.com
%contact me matlabsky@gmail.com
%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
matlab程序怎么实现0,1两个数填五个空?
求matlab程序实现
这五个空怎么填
she__friend to __her some book.这两个空怎么填?有五个选择:said send finis
1,2,4,6,7,18,( ),( ).找规律填数.求专家,后两个空怎么填?
程序填空填的对吗,最后一个空怎么填?
如何实现这个MATLAB 程序?
matlab 小程序的实现
matlab 编写一个程序实现十进制数转换为二进制数?
两个matlab程序不同
matlab程序怎么使向量的每一个元素都加上0到1之间的一个数的倍数,
按规律填数1 1 3 2 * 3 7 * 9 5 填*处两个空