一、实验介绍
1.1 实验内容
如果你使用 Python 语言进行科学计算,那么一定会接触到NumPy。NumPy 是支持 Python 语言的数值计算扩充库,其拥有强大的多维数组处理与矩阵运算能力。除此之外,NumPy 还内建了大量的函数,方便你快速构建数学模型。
1.2 实验知识点
- NumPy 安装
- NumPy 数值类型介绍
1.3 实验环境
- Python3
- Jupyter Notebook
1.4 适合人群
本课程难度为一般,属于初级级别课程,适合具有 Python 基础,并对使用 NumPy 进行科学计算感兴趣的用户。
二、数学函数
使用 python 自带的运算符,你可以完成数学中的加减乘除,以及取余、取整,幂次计算等。导入自带的 math 模块之后,里面又包含绝对值、阶乘、开平方等一些常用的数学函数。不过,这些函数仍然相对基础。如果要完成更加复杂一些的数学计算,就会显得捉襟见肘了。
numpy 为我们提供了更多的数学函数,以帮助我们更好地完成一些数值计算。下面就依次来看一看。
2.1 三角函数
首先, 看一看 numpy 提供的三角函数功能。这些方法有:
numpy.sin(x) numpy.cos(x) numpy.tan(x) numpy.arcsin(x) numpy.arccos(x) numpy.arctan(x) numpy.hypot(x1,x2) numpy.degrees(x) numpy.radians(x) numpy.deg2rad(x) numpy.rad2deg(x)
比如,我们可以用上面提到的 numpy.rad2deg(x) 将弧度转换为度。
示例代码:
import numpy as np np.rad2deg(np.pi)
2.2 双曲函数
在数学中,双曲函数是一类与常见的三角函数类似的函数。双曲函数经常出现于某些重要的线性微分方程的解中,使用 numpy 计算它们的方法为:
numpy.sinh(x) numpy.cosh(x) numpy.tanh(x) numpy.arcsinh(x) numpy.arccosh(x) numpy.arctanh(x)
2.3 数值修约
数值修约, 又称数字修约, 是指在进行具体的数字运算前, 按照一定的规则确定一致的位数, 然后舍去某些数字后面多余的尾数的过程[via. 维基百科]。比如, 我们常听到的「4 舍 5 入」就属于数值修约中的一种。
numpy.around(a) numpy.round_(a) numpy.rint(x) numpy.fix(x, y) numpy.floor(x) numpy.ceil(x) numpy.trunc(x)
随机选择几个浮点数,看一看上面方法的区别。
2.4 求和、求积、差分
下面这些方法用于数组内元素或数组间进行求和、求积以及进行差分。
numpy.prod(a, axis, dtype, keepdims) numpy.sum(a, axis, dtype, keepdims) numpy.nanprod(a, axis, dtype, keepdims) numpy.nansum(a, axis, dtype, keepdims) numpy.cumprod(a, axis, dtype) numpy.cumsum(a, axis, dtype) numpy.nancumprod(a, axis, dtype) numpy.nancumsum(a, axis, dtype) numpy.diff(a, n, axis) numpy.ediff1d(ary, to_end, to_begin) numpy.gradient(f) numpy.cross(a, b, axisa, axisb, axisc, axis) numpy.trapz(y, x, dx, axis)
2.5 指数和对数
如果你需要进行指数或者对数求解,可以用到以下这些方法。
numpy.exp(x) :计算输入数组中所有元素的指数。 numpy.expm1(x) :对数组中的所有元素计算 exp(x) - 1. numpy.exp2(x) :对于输入数组中的所有 p, 计算 2 ** p。 numpy.log(x) :计算自然对数。 numpy.log10(x) :计算常用对数。 numpy.log2(x) :计算二进制对数。 numpy.log1p(x) : log(1 + x) 。 numpy.logaddexp(x1, x2) : log2(2**x1 + 2**x2) 。 numpy.logaddexp2(x1, x2) : log(exp(x1) + exp(x2)) 。
2.6 算术运算
当然,numpy 也提供了一些用于算术运算的方法,使用起来会比 python 提供的运算符灵活一些,主要是可以直接针对数组。
numpy.add(x1, x2) numpy.reciprocal(x) numpy.negative(x) numpy.multiply(x1, x2) numpy.divide(x1, x2) numpy.power(x1, x2) numpy.subtract(x1, x2) numpy.fmod(x1, x2) numpy.mod(x1, x2) numpy.modf(x1) numpy.remainder(x1, x2)
2.7 矩阵和向量积
求解向量、矩阵、张量的点积等同样是 numpy 非常强大的地方。
numpy.dot(a,b) numpy.vdot(a,b) numpy.inner(a,b) numpy.outer(a,b) numpy.matmul(a,b) numpy.tensordot(a,b) numpy.kron(a,b)
2.8 其他
除了上面这些归好类别的方法,numpy 中还有一些用于数学运算的方法,归纳如下:
numpy.angle(z, deg) numpy.real(val) numpy.imag(val) numpy.conj(x) numpy.convolve(a, v, mode) numpy.sqrt(x) numpy.cbrt(x) numpy.square(x) numpy.absolute(x) numpy.fabs(x) numpy.sign(x) numpy.maximum(x1, x2) numpy.minimum(x1, x2) numpy.nan_to_num(x) numpy.interp(x, xp, fp, left, right, period)
三、代数运算
上面,我们分为 8 个类别,介绍了 numpy 中常用到的数学函数。这些方法让复杂的计算过程表达更为简单。除此之外,numpy 中还包含一些代数运算的方法,尤其是涉及到矩阵的计算方法,求解特征值、特征向量、逆矩阵等,非常方便。
numpy.linalg.cholesky(a) numpy.linalg.qr(a ,mode) numpy.linalg.svd(a ,full_matrices,compute_uv) numpy.linalg.eig(a) numpy.linalg.eigh(a, UPLO) numpy.linalg.eigvals(a) numpy.linalg.eigvalsh(a, UPLO) numpy.linalg.norm(x ,ord,axis,keepdims) numpy.linalg.cond(x ,p) numpy.linalg.det(a) numpy.linalg.matrix_rank(M ,tol) numpy.linalg.slogdet(a) numpy.trace(a ,offset,axis1,axis2,dtype,out) numpy.linalg.solve(a,b) numpy.linalg.tensorsolve(a,b ,axes) numpy.linalg.lstsq(a,b ,rcond) numpy.linalg.inv(a) numpy.linalg.pinv(a ,rcond) numpy.linalg.tensorinv(a ,ind)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]