MATLABでベルヌーイ数を求める

これの続き。

N=10;
B=zeros(1,N);
B(1,1)=1;

for i = 1:1:N
    B(1,i+1)=getBernoulliNumber(i, B);
end
B

function y = getBernoulliNumber(n, B)
Bn = 0;
for k = 0:1:n-1
    Bn = Bn + nCr(n + 1, k) * B(1,k+1);
end
y =- Bn /(n + 1);
end

function y=exponentiation(j)
num = 1;
for i = 1:1:j
    num = num * i;
end
y=num;
end
function y=nCr(n, r)
y=exponentiation(n) / (exponentiation(r) * exponentiation(n - r));
end

コメント

タイトルとURLをコピーしました