<div dir="ltr">Hello,<div><br></div><div>A quick query. Have adapted existing Matlab code for Scilan to calculate Bernoulli numbers using an explicit formula (<a href="http://www.bernoulli.org">www.bernoulli.org</a>). The code works fine for numbers from 0 to 10, but 11 onwards the values are incorrect:</div><div><br></div><div>Not the most efficient code but do need to understand where the errors are coming in.</div><div><br></div><div>clear<br><br>function Binomial_coefficient=bcoeff(n,k)<br>    Binomial_coefficient=factorial(n)/(factorial(k)*factorial(n-k))<br>endfunction<br><br>B=[]; <br>for m=0:20 <br>    sum2=0;<br>    for k=0:m <br>        sum1=0;<br>            for v=0:k <br>             sum1=sum1+ (((-1)^v)*bcoeff(k,v)*(v^m)/(k+1));<br>            end<br>        sum2=sum2+sum1;<br>    end<br>B(m+1)=sum2; <br>end<br></div><div><br></div><div><div>Output of B(n) for 0 to 20 (left column), right column = expected values; note B(7) and B(9)  show rounding issues*</div><div><br></div><div>   1.<br>  -0.5<br>   0.1666667<br>   0.<br>  -0.0333333<br>   0.<br>   0.0238095<br>   7.503D-12*  0.0<br>  -0.0333333<br>   2.215D-08*  0.0<br>   0.0757573<br>   0.0000024  0.0<br>  -0.2520505  −0.253113553<br>  -0.0072098  0.0<br>   1.2467346  +1.166666666<br>  -12.6875    0.0<br>  -827.875    −7.092156862<br>   12752.25   0.0<br>  -2091400.   +54.97117794<br>   2.104D+09  0.0<br>   6.417D+10  −529.1242424</div></div><div><br></div><div>Also, is it possible to print/write values in a more readable form, e.g.:</div><div>B(0) = 1</div><div>B(1) =  -0.5</div><div>...etc</div><div>B(20) = −529.1242424</div><div><br></div><div>Thanks for any pointers<br></div><div>Lester<br></div><div><pre style="font-family:Arial"><br></pre></div></div>