nthroot

Nth root of symbolic numbers

Description

example

y = nthroot(x,n) returns the nth root of x with the phase angle closest to the phase of x. The output y has symbolic data type if any input argument is symbolic. The variables satisfy y.^n = x.

Examples

collapse all

Calculate the nth root of a negative number.

x = sym(-27);
n = -3;
y = nthroot(x,n)
y = 

-13

Check that the answer solves the equation yn=x.

y^n
ans = -27

Calculate the nth root of a complex number.

x = sym(1 + 1i);
y = nthroot(x,4)
y = 1+i1/4

Find a numeric equivalent of the root.

vpa(y)
ans = 1.0695539323639858023756790408254+0.2127475047267430357507130792184i

Check that the answer solves the equation yn=x.

y^4
ans = 1+i

Calculate the nth roots of an array.

x = sym([-27,-8,-4
    27,64,-12])
x = 

(-27-8-42764-12)

n = sym([3,3,4
    3,2,-2])
n = 

(33432-2)

y = nthroot(x,n)
y = 

(-3-2-13/441/438-12i12)

Check that the answer solves the equation yn=x.

y.^n
ans = 

(-27-8-42764-12)

Use nthroot in further symbolic calculations.

syms x 
y = solve(nthroot(x,-3) == -3, x)
y = 

-127

syms x n
y = diff(nthroot(x,n),x)
y = 

xnnx

Input Arguments

collapse all

Input array for taking root, specified as a symbolic or numeric array. When taking the root, the function acts element-wise.

If both x and n are nonscalar arrays, they must have the same size. If any element of x or n is symbolic and some elements are numeric, nthroot converts numeric arguments to symbolic before processing.

Example: [sym(-8),sym(8);sym(-27),sym(27)]

Input array for order of root, specified as a symbolic array or real array.

  • If an element of x is not real and positive, meaning it is either negative or has a nonzero imaginary part, then the corresponding element of n must be a nonzero integer.

  • If an element of x is real and positive, then the corresponding element of n can have any nonzero real value.

If both x and n are nonscalar arrays, they must have the same size. If any element of x or n are symbolic and some elements are numeric, nthroot converts numeric arguments to symbolic before processing.

Example: sym(-3)

See Also

Introduced in R2018b