📄 combination.m
字号:
%==========================================================================
%
% 函数名:combination
% 函数介绍:生成{1,2,3...,n}n个数的r—组合。
% 输入参数:a是{1,2,3...,n}的某种组合。第一次执行该程序时a是初始组合{1,2,3...,r}。
% n是样本总数。
% r是正常样本的个数。
% 输出参数:a是{1,2,3...,n}的某种r组合。
%
%==========================================================================
function [ a ] = combination ( a, n, r )
x ( 1 : r ) = n - r + 1 : n;%x是最后一种组合。
t = a - x;%为了比较a和x是否相等。
if sum ( t ) ~= 0 %即a~=x
%确定a中最大整数k
[ row, column ] = size ( a );
for i = column : -1 : 1
p = 0;
c = 0;
if a ( i ) + 1 <= n
p = 1;
k = a ( i );
for j = 1 : r
if k + 1 == a ( j )
c = 1;
end
end
end
if c == 0 & p == 1
break;
end
end
k = a ( i );
g = i;
%确定a中最大整数k
for i = 1 : r - g + 1
a ( g - 1 + i ) = k + i;
end
end
%end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -