【发布时间】:2013-04-19 20:23:09
【问题描述】:
我想创建一个矩阵,其中包含 0 到 100 之间的 10 个数字的所有可能组合,间隔为 5,其总和等于 100。我的意思是这样的:
(0 0 0 0 0 0 0 0 0 10 90; 10 10 10 10 10 10 10 10 20 0;...)
我使用“allcomb.m”来创建介于 0 和 100 之间的所有可能数字,间隔为 5。但是,这个矩阵太大了,这意味着 Matlab 不会创建它。我在想,如果我有那个矩阵,我可以使用条件来减少它,但这是不可能的,因为我从来没有得到矩阵。 所以,问题是我如何使用相同代码中的条件修改 allcomb 的代码,或者更好的方法是创建我想要的矩阵的另一种方法。
【问题讨论】:
-
我不知道你在matlab中是怎么做的,但是在python中你会使用一个生成器,例如仅当您要求下一个时才创建序列元素的对象,而不是一次创建所有元素。我想在这种情况下需要发生类似的事情
标签: matlab matrix combinations