combine.m
来自「一个关于数据聚类和模式识别的程序,在生物化学,化学中因该都可以用到.希望对大家有」· M 代码 · 共 29 行
M
29 行
function out = combine(obj, n)
% out = combine(obj, n) returns combinations of obj with n distinct
% elements.
% For instance: combine([1 2 3 4 5], 2) or combine('abcde', 3).
% Roger Jang, Sept-21-1996
if n>length(obj)
out=[];
return;
end
if n==1
out = obj(:);
return;
end
if n==length(obj)
out = obj(:)';
return;
end
out = [];
for i = 1:length(obj)-1,
first = obj(i);
tail = obj(i+1:end);
tail_combinat = combine(tail, n-1);
loop_out = [first*ones(size(tail_combinat,1), 1), tail_combinat];
out = [out; loop_out];
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?