function finddmdr=dfdx(F,ri,n) N=10*n; rt=logspace(log10(ri(1)),log10(ri(n)),N); % rt=linspace(ri(1),ri(n),N); mm=interp1(ri,F,rt,'spline'); diff1=(mm(1)-mm(2))./(rt(1)-rt(2))+(mm(1)-mm(3))./(rt(1)-rt(3))-... (mm(2)-mm(3))./(rt(2)-rt(3)); diffi=(mm(1:(N-2))-mm(2:(N-1)))./(rt(1:(N-2))-rt(2:(N-1))).... -(mm(1:(N-2))-mm(3:N))./(rt(1:(N-2))-rt(3:N)).... +(mm(2:(N-1))-mm(3:N))./(rt(2:(N-1))-rt(3:N)); diffn=-(mm(N-1)-mm(N-2))./(rt(N-1)-rt(N-2))+(mm(N-2)-... mm(N))./(rt(N-2)-rt(N))+(mm(N-1)-mm(N))./(rt(N-1)-rt(N)); dmm=[diff1,diffi,diffn]; finddmdr=interp1(rt,dmm,ri,'spline');