Hi,
I have a project that requires the use of your elliptic functions project. Thanks for that. I do have a suggestion:
- 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;