下面是数字模拟结果:
_______________________________________
上面表的结果是用Excel count出来的。下面这个matlab code是用今天的通式进行计算,可以算出上面表的结果。
fid_4 = fopen('z_out_D_03.dat','w');
fprintf(fid_4,' N combination number \n');
for j = 1:27
jj(j) = 0;
end
m = 3;
for N = 1 : 14
N1 = (N+m-2)*(N+m-3)/2;
N2 = 0;
for i = 1 : N -10
if N > 10
N2 = N2 + (N-9-i+m-2);
end
end
N3 = 0;
for i = 1 : N -10
if N > 10
N3 = N3 + (N-10-i+m-2);
end
end
N_total = N1 - N2 - (m-1)*N3 ;
if N >9
N_total = N_total -1;
end
jj(N) = N_total;
fprintf(fid_4,'%10.0f %10.0f \n', N, jj(N));
end
for N = 15 : 27
jj(N) = jj(28-N);
fprintf(fid_4,'%10.0f %10.0f \n', N, jj(N));
end
fclose('all') ;
fid_4 = fopen('z_out_D_04.dat','w');
fprintf(fid_4,' N combination number \n');
for j = 1:36
jj(j) = 0;
end
m = 4;
for N = 1 : 18
N1 = (N+m-2)*(N+m-3)*(N+m-4)/6;
N2 = 0;
for i = 1 : N -10
if N > 10
N2 = N2 + (N-9-i+m-2)*(N-9-i+m-3)/2;
end
end
N3 = 0;
for i = 1 : N -10
if N > 10
N3 = N3 + (N-10-i+m-2)*(N-10-i+m-3)/2;
end
end
N_total = N1 - N2 - (m-1)*N3 ;
if N >9
N_total = N_total -1;
end
jj(N) = N_total;
fprintf(fid_4,'%10.0f %10.0f \n', N, jj(N));
end
for N = 19 : 36
jj(N) = jj(37-N);
fprintf(fid_4,'%10.0f %10.0f \n', N, jj(N));
end
fclose('all') ;