Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想使用 matlab 创建一个矩阵,其中包含数据集 V= 0:46 中所有可能的大小为 8 的组合。使用 nchoosek 似乎无法做到这一点。有人可以帮我解决问题吗?谢谢
如果您愿意创建一个由 314457495×8 个元素组成的矩阵,您可以创建自己的函数。递归解决方案是
function R = nck(v, k) if k==1, R = v(:); elseif k==numel(v), R = v(:)'; else R0 = nck(v(1:end-1),k); R1 = nck(v(1:end-1),k-1); R = [R0; R1, v(end)*ones(size(R1,1),1)]; end R = sortrows(R); end