disp('-------------p1.6.6-------------') n=[18:23] Rn=(7.^(-n))/6 +(5.^(-n))/4 pause disp('-------------p1.6.6----NUMERICAL----') %% matlab can only store 16 significant digits for n=15:25 k = (1:n); x = rand(1000,1)/3; %[0:.01:1/3]; z = (1-x)./(1+x); lnZ = log(z); x0 = 1/6; y1 = (x-x0)./(1-x0); y2 = (x-x0)./(1+x0); p = log(1-x0); q = log(1+x0); for t=k p = p - y1.^t/t; q = q + (-1)^(t+1)*y2.^t/t; end Tn = p - q; maxErr = max(abs(Tn- lnZ )); fprintf(1,'[n=%d] maxErr1 = %g\n', n, maxErr); if maxErr < 10^(-15) break; else pause(.5) end end