-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Description
- 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 moiseev....@gmail.com on 5 Jan 2014 at 9:08
Reactions are currently unavailable