在matlab中生成具有所有可能性的矩阵

在matlab中生成具有所有可能性的矩阵,matlab,matrix,combn,Matlab,Matrix,Combn,是否有一个简单的命令来执行此操作: M = 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 我发现了这个,但这在matlab中还不是一个东西 尝试了M=combn([0 1],3)bo我得到了类型为“double”的输入参数的未定义函数“combn”。作为回报您正在寻找matlab的perms()函数 v0=[0 0 0]; v1=[1 0 0]; v2=[1 1 0]; v3=[1 1

是否有一个简单的命令来执行此操作:

M = 0 0 0
    0 0 1
    0 1 0
    0 1 1
    1 0 0
    1 0 1
    1 1 0
    1 1 1
我发现了这个,但这在matlab中还不是一个东西


尝试了
M=combn([0 1],3)
bo我得到了类型为“double”的输入参数的未定义函数“combn”。作为回报

您正在寻找matlab的
perms()
函数

v0=[0 0 0]; 
v1=[1 0 0];
v2=[1 1 0];
v3=[1 1 1]; 
p1=perms(v1);
p2=perms(v2);
combs = cat(1,v0,p1,p2,v3);
当然,这会给出所有排列,这意味着顺序很重要(即使是零),因此只能得到唯一的组合,然后才能使用:

combs=unique(combs,'rows');
其中:

combs =
     0     0     0
     0     0     1
     0     1     0
     0     1     1
     1     0     0
     1     0     1
     1     1     0
     1     1     1

另外,如果您从文件交换下载了该文件,请确保该文件位于matlab路径或当前目录中,这样可以避免未知函数错误。您可以阅读matlab的路径如何工作

您正在寻找matlab的
perms()
函数

v0=[0 0 0]; 
v1=[1 0 0];
v2=[1 1 0];
v3=[1 1 1]; 
p1=perms(v1);
p2=perms(v2);
combs = cat(1,v0,p1,p2,v3);
当然,这会给出所有排列,这意味着顺序很重要(即使是零),因此只能得到唯一的组合,然后才能使用:

combs=unique(combs,'rows');
其中:

combs =
     0     0     0
     0     0     1
     0     1     0
     0     1     1
     1     0     0
     1     0     1
     1     1     0
     1     1     1

另外,如果您从文件交换下载了该文件,请确保该文件位于matlab路径或当前目录中,这样可以避免未知函数错误。您可以阅读matlab的路径如何工作

一种简单的方法是生成从
0
2^n-1
的所有数字,其中
n
是行数,并将它们转换为二进制:

n = 3;
result = dec2bin(0:2^n-1)-'0';

或者具体说明您的情况。

一种简单的方法是生成从
0
2^n-1
的所有数字,其中
n
是行数,并将其转换为二进制:

n = 3;
result = dec2bin(0:2^n-1)-'0';

或者具体说明您的情况。

我如何移除眼向量(一行1个)并存储其余的?@user2202368抱歉,我不明白您的意思question@LuisMendo从所有组合的矩阵中,我希望删除行(1 0 0;0 1 0;0 0 1 0;0 0 0 1)并保存所需内容left@user2202368哦,我明白了。使用
result2=result(sum(result,2)~=1,:)(仅保留总和不同于1的行)@user2202368 Welcome!:-)我如何移除眼向量(一行一个)并存储其余的?@user2202368对不起,我不明白你的意思question@LuisMendo从所有组合的矩阵中,我希望删除行(1 0 0;0 1 0;0 0 1 0;0 0 0 1)并保存所需内容left@user2202368哦,我明白了。使用
result2=result(sum(result,2)~=1,:)(仅保留总和不同于1的行)@user2202368 Welcome!:-)为什么会被否决?请评论我如何改进答案。为什么投票被否决?请评论我如何改进答案。