91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

NumPy 數學函數及代數運算的實現代碼

發布時間:2020-10-23 15:46:40 來源:腳本之家 閱讀:151 作者:MCFON 欄目:開發技術

一、實驗介紹

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)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汶川县| 宣城市| 浮梁县| 剑川县| 中宁县| 靖安县| 三都| 织金县| 乌鲁木齐县| 合山市| 张家港市| 新化县| 陵川县| 旌德县| 永安市| 鹤庆县| 丹棱县| 花莲县| 西和县| 黎平县| 台中市| 大方县| 来宾市| 焦作市| 新蔡县| 扶沟县| 锡林浩特市| 远安县| 宁武县| 内江市| 来安县| 库车县| 湘潭县| 同心县| 肥东县| 江城| 南丰县| 敦化市| 曲周县| 宾阳县| 观塘区|