matlab 集合中加入元素,已知集合{1,2,3,4,5},在此集合中取几个元素,使它们之和小于7,用matlab实现...

您好, 由于每个答案的维度不同(有长度为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); 很高兴为你解答~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值