maxframe.tensor.arccos#
- maxframe.tensor.arccos(x, out=None, where=None, **kwargs)[源代码]#
三角反余弦,逐元素计算。
cos 的反函数,即如果
y = cos(x),则x = arccos(y)。- 参数:
x (array_like) -- 单位圆上的 x 坐标。对于实数参数,定义域为 [-1, 1]。
out (Tensor, None, or tuple of Tensor and None, optional) -- 用于存储结果的位置。如果提供,其形状必须与输入广播兼容。如果未提供或为 None,则返回一个新分配的 tensor。元组(只能作为关键字参数)的长度必须等于输出的数量。
where (array_like, optional) -- 值为 True 表示在该位置计算 ufunc,值为 False 表示保留输出中的值不变。
**kwargs
- 返回:
angle -- 在给定 x 坐标处与单位圆相交的射线的角度,单位为弧度 [0, pi]。如果 x 是标量,则返回标量,否则返回与 x 形状相同的数组。
- 返回类型:
Tensor
备注
arccos 是多值函数:对于每个 x,存在无穷多个数 z 使得 cos(z) = x。约定返回实部在 [0, pi] 范围内的角度 z。
对于实数输入数据类型,arccos 总是返回实数输出。对于无法表示为实数或无穷大的值,它返回
nan并设置 invalid 浮点错误标志。对于复数输入,arccos 是一个复解析函数,其分支切割为 [-inf, -1] 和 [1, inf],在前者上从上方连续,在后者上从下方连续。
反余弦也称为 acos 或 cos^-1。
引用
M. Abramowitz and I.A. Stegun, "Handbook of Mathematical Functions", 10th printing, 1964, pp. 79. http://www.math.sfu.ca/~cbm/aands/
示例
我们期望 1 的反余弦为 0,-1 的反余弦为 pi:>>> import maxframe.tensor as mt
>>> mt.arccos([1, -1]).execute() array([ 0. , 3.14159265])
绘制 arccos:
>>> import matplotlib.pyplot as plt >>> x = mt.linspace(-1, 1, num=100) >>> plt.plot(x.execute(), mt.arccos(x).execute()) >>> plt.axis('tight') >>> plt.show()