combntns(例如:combntns(some_vector,i))函数抛出:
错误:未定义功能“combntns”类型的输入参数“双重”
但是,我的机器上需要我为双。它甚至抛出它,如果我投我以INT8。
使用nchoosek代替combnts或combnk的
起初,我认为这是相当困难的查找集的任何尺寸的元件(套1个的元素,2种族元素等),但是然后我意识到,向量元素的任何选择对应于二进制码(”1' ,用于选择元件和‘0’不选择它)。以选择所有可能的元件组合我只需要1至2 ^(1个+长度(V))使用二进制代码 - 1。
起初,我认为这是相当困难的查找集的任何尺寸的元件(套1个的元素,2种族元素等),但是然后我意识到,向量元素的任何选择对应于二进制码(”1' ,用于选择元件和‘0’不选择它)。以选择所有可能的元件组合我只需要1至2 ^(1个+长度(V))使用二进制代码 - 1。
这是为什么不工作在这里吗?
它可以在我的笔记本电脑上运行;
函数ind = subset_sum(v,n)
k = dec2bin(0:2 ^长度(v) 1);
b = k。* v;
l =发现(和(b) = = n);
m = k (l:)。*(1:长度(v));
印第安纳州= m (m > 0);
结束
nchoosek功能是太棒了!
显然这个失败了,因为我的空矩阵
1×0(0号)加倍
但是测试用例3需要一个空矩阵
0×0(0号)加倍
Hmmmm ....
因此很明显,这是失败的,因为我的空矩阵是1×0(0号)双,但测试案例3需要一个空矩阵是0×0(0号)双Hmmmm ....
[随后修改为通过测试套件作为解决方案1163376.]
虽然我觉得我应该要休息,多想想....
我哪里做错了?如果我在电脑上输入代码,就会得到第一个和最后一个问题的正确答案。金宝搏官方网站我甚至清除了工作空间中的所有其他变量。
显然,我是用交叉错。
伟大的解决方案
巧solution.I不能想出来的自己