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 获取实根。