万壑松风知客来,摇扇抚琴待留声
简述:
很早的一个问题,当然现在有时还是会迷糊,所以这里简单记录下来。这是关于 Python 中计算幂运算、开方时的几种方法。主要包括了 math、numpy 提供的几种方法
math模块:
1. $pow(x,y)$ 函数:
结果:
幂运算,返回以 $x$ 为底,$y$ 为指数的运算结果 $x^{y}$ 。
规则:
当底数 $x$ 为正数时,指数 $y$ 可以为任何实数(-1.5、-2、0、1.5、2);当 $x$ 为负数时,$y$ 可以为任何整数(-2、0、2);当 $x$ 为 0 时,$y$ 可以为任何正数(2、2.5);当 $y$ 为 0 时,x 取任何值结果都为 1。
注意:
该函数只能计算 $x$ 一个数,即不能处理数组,且返回结果为 float 类型。
2. $sqrt(x)$ 函数:
结果:
开平方,返回 $x$ 的平方根运算结果 $\sqrt{x}$ 。
规则:
只需传入一个数 $x$ 即可,没有多余参数。
注意:
$x$ 不可为负数,可以为任何非负数(0、2、2.5),该函数只能计算 $x$ 一个数,即不能处理数组,且返回结果为 float 类型。
numpy模块:
相对于 math 模块,numpy 功能更强大,与 math 模块最大的区别就是可以对数组或矩阵运算,但是这里仅做部分主要参数的使用说明
1. $np.power(x,y)$ 函数:
结果:
(矩阵)幂运算,返回 $x$ 为底,$y$ 为指数的运算结果 $x^y$ 。
规则:
$x$ 和 $y$ 可以分别是元素、列表、矩阵,若 $x$ 与 $y$ 都是列表或者矩阵,则唯一的要求就是两者的列(也就是维数)相等。
注意:
$x$、$y$ 可以为任何数值,只需满足当 $x$、$y$ 都为列表或矩阵时,两者的列相等,且返回结果为 float 类型。
2. $np.sqrt(x)$ 函数:
结果:
(矩阵)开平方,返回 $x$ 的平方根运算结果 $\sqrt{x}$ 。
规则:
$x$ 可以是元素、列表、矩阵,分别对每个元素进行开方,若某元素为空值或负数,则开方后是空值($nan$),且非空值返回结果为 float 类型。
注意:
没有什么注意的。
3. $np.square(x)$ 函数:
结果:
(矩阵)幂为 2 运算,返回 $x*x$ 的结果,也就是 $x^2$ 。
规则:
$x$ 可以是元素、列表、矩阵,分别对每个元素进行平方运算,若 $x$ 全部为非空值整数,则返回结果为 int 类型,否者为 float 类型。
注意:
没什么注意的。