gpt4 book ai didi

matlab - 如何为排除的元素生成带零的向量组合矩阵?

转载 作者:太空宇宙 更新时间:2023-11-03 20:04:23 24 4
gpt4 key购买 nike

我想根据满足条件的一个向量的所有元素组合创建一个矩阵

例如,我有这个向量

a = [1 2 3 4 5]

并想创建一个像

这样的矩阵
a = [1 0 0 0 0;
1 2 0 0 0;
1 2 3 0 0;
1 2 3 4 0;
1 2 3 4 5;
0 2 0 0 0;
0 2 3 0 0;
........;]

然后获取满足条件的行我可以使用命令:

b = sum(a')' > value

但我不知道如何生成矩阵

最佳答案

您可以生成所有可能的二进制组合来确定您想要的矩阵:

a = [1 2 3];
n = size(a,2);

% generate bit combinations
c =(dec2bin(0:(2^n)-1)=='1');
% remove first line
c = c(2:end,:)
n_c = size(c,1);

a_rep = repmat(a,n_c,1);
result = c .* a_rep

输出:

c =

0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1


result =

0 0 3
0 2 0
0 2 3
1 0 0
1 0 3
1 2 0
1 2 3

关于matlab - 如何为排除的元素生成带零的向量组合矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30171815/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com