MATLAB: Do I receive an error when I use the NTHROOT function within MATLAB

errorintegerMATLABnegativenthrootodd

When I execute the following command:
r = nthroot(1,2)
I receive the following error message:
??? Error using ==> nthroot
If X is negative, N must be an odd integer.
However, my value for X is not negative.

Best Answer

This bug has been fixed for Release 14 SP1 (R14SP1). For previous releases, read below for any possible workarounds:
This is a bug within MATLAB 7.0 (R14) in the NTHROOT function.
To work around this issue, perform the following steps.
1. In the MATLAB Command Window, type:
edit nthroot
2. Within the file that comes up in the MATLAB Editor/Debugger, replace line 17:
if any((x(:) < 0) & ((n(:) ~= fix(n(:)))) | rem(n,2)==0)
with the command:
if any((x(:) < 0) & (((n(:) ~= fix(n(:)))) | rem(n,2)==0))
3. Save the MATLAB file.