您好, 由于每个答案的维度不同(有长度为1的集合,有长度为2的集合,……)所以,当我们需要将其合并在一个矩阵里面的时候,我们必须要在空白位置中添上一个数字来占位(比如你可以加入0,NaN,或者任意的一个字符'a'来以示区分)。 下面这是新的代码(在这里我加入0来以示区别): clear all clc set = [1, 2, 3, 4, 5]; temp1 = []; temp2 = []; temp3 = []; for i = 1 : 4 subset = combntns(set,i); sum = cumsum(subset,2); for j = 1 : length(sum) if sum(j,i) < 7 dim = size(subset(j,:)); switch dim(2) case 1 temp = [subset(j,:), 0,0]; temp1 = [temp1;temp]; case 2 temp = [subset(j,:), 0]; temp2 = [temp2;temp]; case 3 temp = subset(j,:); temp3 = [temp3;temp]; end; end; end; end; result = [temp1; temp2; temp3]; disp(result); 很高兴为你解答~
matlab 集合中加入元素,已知集合{1,2,3,4,5},在此集合中取几个元素,使它们之和小于7,用matlab实现...
最新推荐文章于 2023-03-05 21:01:35 发布