Numpy中數組和矩陣操作的數學函數
Numpy 是一個強大的 Python 計算庫。它提供了廣泛的數學函數,可以對數組和矩陣執行各種操作。本文中將整理一些基本和常用的數學操作。
- 基本數學運算:Numpy 提供了許多基本數學函數,用于對數組執行加、減、乘、除等運算。這些函數包括 numpy.add()、numpy.subtract()、numpy.multiply() 和 numpy.divide()。
- 線性代數函數:Numpy 還提供了許多線性代數函數,用于執行矩陣乘法、行列式和求逆等運算。這些函數包括 numpy.dot()、numpy.linalg.det() 和 numpy.linalg.inv()。
- 統計和概率函數:Numpy 提供了許多統計和概率函數,用于執行均值、中位數、標準差和相關性等操作。這些函數包括 numpy.mean()、numpy.median()、numpy.std() 和 numpy.corrcoef()。
- 三角函數和對數函數:Numpy 還提供了許多三角函數和對數函數,用于執行正弦、余弦、正切和對數等運算。這些函數包括 numpy.sin()、numpy.cos()、numpy.tan() 和 numpy.log()。
基本數學運算
我們將介紹基本的數學運算:
加法
使用numpy.add()逐個添加兩個數組元素。例如,要添加兩個數組a和b,可以使用以下代碼:
也可以使用+運算符:
減法
numpy.subtract()可用于從另一個元素中減去一個數組。例如,要從數組a中減去數組b,可以使用以下代碼:
也可以使用-運算符:
乘法
numpy.multiply()函數可用于按元素將兩個數組相乘。例如,要將兩個數組a和b相乘,可以使用以下代碼:
也可以使用*運算符:
要說明的一點是,這個是逐元素乘法,點積乘法使用dot,在后面會介紹。所以這個操作要求兩個變量的維度相同,如果不同則會首先進行廣播操作。
除法
numpy.divide()函數可用于將一個數組除以另一個元素。例如,要用數組a除以數組b,你可以使用以下代碼:
也可以使用/運算符:
再次說明:上述所有函數都是在輸入數組上以element wise的方式應用的,也就是逐元素方式,所以它們返回一個與輸入形狀相同的數組。
線性代數函數
最常見的是線性代數函數有
點積
numpy.dot()函數可用于計算兩個數組的點積。例如,要計算兩個1-D數組a和b的點積,可以使用以下代碼:
或者直接使用@操作符
矩陣乘法
numpy.matmul()函數可用于執行兩個數組的矩陣乘法。例如,要執行兩個2-D數組a和b的矩陣乘法,可以使用以下代碼:
可以使用@運算符來執行矩陣乘法:
轉置
numpy.transpose()函數可用于轉置數組。例如,要轉置一個2-D數組a,你可以使用以下代碼:
也可以直接使用.T屬性來轉置數組:
行列式
numpy.linalg.det()函數可用于計算正方形數組的行列式。例如,要計算二維數組a的行列式,可以使用以下代碼:
注意,輸入數組必須是正方形數組,即它必須有相同的行數和列數。
逆
numpy.linalg.inv()函數可用于計算正方形數組的逆inverse 。例如,要計算一個2-D數組a的逆,你可以使用以下代碼:
需要注意的是,輸入數組必須是方陣,而且行列式必須非零。否則,numpy將引發LinAlgError。
以上就是我們常用的線性代數函數,還有更多函數來計算矩陣和數組上的線性代數運算,可以查看Numpy文檔。
三角函數和對數函數
Numpy中包含了一些最常用的三角函數包括Numpy .sin()、Numpy .cos()、Numpy .tan()、Numpy .arcsin()、Numpy .arccos()、Numpy .arctan()或Numpy .log()。numpy.sin()的例子:
numpy.log計算自然對數是指數函數的倒數,因此log(exp(x)) = x。自然對數是以e為底的對數。
以上就是Numpy中常用的數學函數的總結,希望對你有所幫助,另外就是Numpy的文檔非常詳盡,如果你想尋找什么函數,可以直接進行查詢:https://numpy.org/doc/