2026a

# nthroot


实数的第 n 次实根

函数库: TyMath

# 语法

Y = nthroot(X,N)

# 说明

Y = nthroot(X,N) 返回 X 元素的第 n 次实根。如果 X 中的元素为负数,则 N 必须为奇数。示例

# 示例

计算负数的实根

求 -27 的实数立方根。

using TyMath
nthroot(-27, 3)
ans = -3.0

要进行比较,还计算 (-27)^(1/3)。结果为 -27 的复数立方根。

(complex(-27.0))^(1/3)
ans = 1.5 + 2.598076211353316im
标量的实根

计算 -8 的若干个第 n 次实根。

using TyMath
N = [5 3 -1]
Y = nthroot.(-8, N)
Y = 1×3 Matrix{Float64}:
 -1.51572  -2.0  -0.125
向量的实根

创建基数的行向量 X 和要计算的根的列向量 N。

using TyMath
X = [4 -3 -5]
N = [1; -1; 3]

计算 X 中元素的第 n 次实根。结果是包含所有基和根的组合的矩阵。例如,Y(3,1) 是 4 的 3 次根。

Y = nthroot.(X,N)
Y = 3×3 Matrix{Float64}:
 4.0     -3.0       -5.0
 0.25    -0.333333  -0.2
 1.5874  -1.44225   -1.70998
矩阵的按元素运算的根

创建一个基的矩阵 X 和要计算的根矩阵 N。X 中的每个元素对应于 N 中的一个元素。

using TyMath
X = [-2 -2 -2; 4 -3 -5];
N = [1 -1 3; 1/2 5 3]

计算 X 中元素的第 n 个实根。

Y = nthroot.(X,N)
Y = 2×3 Matrix{Float64}:
 -2.0  -0.5      -1.25992
 16.0  -1.24573  -1.70998

除符号之外(单独处理),该结果相当于 abs(X).^(1./N)。相比之下,您可以使用 X.^(1./N) 计算复数根。

# 输入参数

X - 输入数组
标量 | 向量 | 矩阵 | 多维数组

输入数组,指定为标量、向量、矩阵或多维数组。X 的元素必须为实数。输入 X 和 N 的大小必须相同或兼容。

数据类型: Int64 | Int32 | Int16 | Int128 | Float16 | Float32 | Float64

复数支持:

N - 要计算的根
标量 | 大小与 X 相同的数组

要计算的根,指定为标量、向量、矩阵或多维数组。N 的元素必须为实数。如果 X 中的元素为负数,则 N 中的对应元素必须为奇数。输入 X 和 N 的大小必须相同或兼容。

数据类型: Int64 | Int32 | Int16 | Int128 | Float16 | Float32 | Float64

复数支持:

# 提示

虽然在同时存在实数和复数根的情况下,^ 是一种计算数值根的更高效函数,但 ^ 仅返回复数根。在这些情况下,可使用 nthroot 获取实根。

# 另请参阅

sqrt | ^