在 Matlab 中计算贝尔数
Compute Bell numbers in Matlab
这是我已经实现的:
function B = bell(n)
B(1,1) = 1;
for i=2:n
B(i,1) = B(1,end);
for j = 1:i-1
B(i-j,j+1) = B(i-1,j)+B(i,j);
end
end
end
当n=3时,我得到:
1 2 3
1 3 0
2 0 0
而不是:
1 2 5
1 3 0
2 0 0
您需要换行
B(i-j,j+1) = B(i-1,j)+B(i,j);
进入
B(i-j,j+1) = B(i-j+1,j)+B(i-j,j);
示例:对于 n=5
、
B =
1 2 5 15 52
1 3 10 37 0
2 7 27 0 0
5 20 0 0 0
15 0 0 0 0
按照this.
这是我已经实现的:
function B = bell(n)
B(1,1) = 1;
for i=2:n
B(i,1) = B(1,end);
for j = 1:i-1
B(i-j,j+1) = B(i-1,j)+B(i,j);
end
end
end
当n=3时,我得到:
1 2 3
1 3 0
2 0 0
而不是:
1 2 5
1 3 0
2 0 0
您需要换行
B(i-j,j+1) = B(i-1,j)+B(i,j);
进入
B(i-j,j+1) = B(i-j+1,j)+B(i-j,j);
示例:对于 n=5
、
B =
1 2 5 15 52
1 3 10 37 0
2 7 27 0 0
5 20 0 0 0
15 0 0 0 0
按照this.