Why do I receive an error when I use the NTHROOT function within MATLAB?

8 views (last 30 days)
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.

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 27 Jun 2009
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.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!