文件名称:nsumk:返回加起来为 k 的非负整数的 n 元组的数量和列表。-matlab开发
文件大小:2KB
文件格式:ZIP
更新时间:2024-06-19 15:33:00
matlab
只不过是 nchoosek 的语法糖,这个小但令人惊讶的有争议的函数返回非负整数的(有序)n 元组的数量,加起来为 k,如果提供第二个参数,则返回它们的列表。 作为下载的替代方法,只需剪切并粘贴以下内容: m = nchoosek(k+n-1,n-1); 分频器 = [zeros(m,1),choosek((1:(k+n-1))',n-1),ones(m,1)*(k+n)]; x = diff(dividers,1,2)-1; 有人热情地注意到,使用 partitions.m 可以实现相同的结果,这是发布在 Matlab Central 上的更通用的函数。 实际上 nsumk(n,k) 返回的结果与 sortrows(partitions(k,ones(1,n))) 相同。 对于小问题,后者可能比使用 nchoosek 慢 10 倍。 对于大型问题,nsumk 的性能要好得多(但这只是
【文件预览】:
nsumk.zip