一、實驗介紹
1.1 實驗內容
如果你使用 Python 語言進行科學計算,那么一定會接觸到NumPy。NumPy 是支持 Python 語言的數值計算擴充庫,其擁有強大的多維數組處理與矩陣運算能力。除此之外,NumPy 還內建了大量的函數,方便你快速構建數學模型。
1.2 實驗知識點
NumPy 安裝 NumPy 數值類型介紹1.3 實驗環境
Python3 Jupyter Notebook1.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 npnp.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)
新聞熱點
疑難解答