elliptic icon indicating copy to clipboard operation
elliptic copied to clipboard

While loops with iteation control INVERSELLIPTIC2

Open GoogleCodeExporter opened this issue 11 years ago • 0 comments

- Consider using atan2 instead of atan for the inverselliptic2.m because it's 
more stable and you won't need the eps for the denominator.
- My project required plugging in large numbers in the inverselliptic2.m 
function, which won't work because there's only 4 iterations. So I'd recommend 
using a while loop:
        [~, E] = elliptic12(invE(:),m,tol);
        dinvE = (E - z)./sqrt( 1-m.*sin(invE(:)).^2 );
        while max(abs(dinvE)) > tol
            invE(:) = invE(:)-dinvE;
            [~, E] = elliptic12(invE(:),m,tol);
            dinvE = (E - z)./sqrt( 1-m.*sin(invE(:)).^2 );
        end
        invE(:) = invE(:)-dinvE;

    instead of:
        for iter=1:4
            [~, E] = elliptic12(invE(:),m,tol);
            invE(:) = invE(:)-(E - z)./sqrt( 1-m.*sin(invE(:)).^2 );
        end

Original issue reported on code.google.com by [email protected] on 5 Jan 2014 at 9:08

GoogleCodeExporter avatar Mar 14 '15 18:03 GoogleCodeExporter