文章目錄
- 前言
- Numpy庫四則運算
- 編程練習
前言
本片將介紹Numpy庫中的四則運算。
Numpy庫四則運算
Numpy庫可以直接進行一些四則運算,快速的處理兩個Numpy數組:
a = np.array([[1,2,3],[4,5,6]])
b = np.array([[4,5,6],[1,2,3]])
向量與向量之間
1.加法
In:np.add(a,b) 或 a+b
Out:array([[5, 7, 9],[5, 7, 9]])
2.減法
In:np.subtract(a,b) 或 a-b
Out:array([[-3, -3, -3],[ 3, 3, 3]])
3.乘法(X乘)
In:np.multiply(a,b) 或 a * b
Out:array([[ 4, 10, 18],[ 4, 10, 18]])
4.乘法(點乘)
a = np.array([[1,2,3],[4,5,6]])
b = np.array([4,5,6])
In: np.dot(a,b)
Out:array([32, 77])
5.除法
a = np.array([[1,2,3],[4,5,6]])
b = np.array([[4,5,6],[1,2,3]])
In:np.divide(a,b) 或 a/b
Out:array([[ 0.25, 0.4 , 0.5 ],[ 4. , 2.5 , 2. ]])
向量與標量之間
a = np.array([[1,2,3],[4,5,6]])
1.加法
In: a +1
Out:array([[2, 3, 4],[5, 6, 7]])
2.減法
In: a -1
Out:array([[0, 1, 2],[3, 4, 5]])
3.乘法
In: a*2
Out:array([[ 2, 4, 6],[ 8, 10, 12]])
4.除法
In: a/2
Out:array([[ 0.5, 1. , 1.5],[ 2. , 2.5, 3. ]])
5.求余
In:a%2
Out:array([[1, 0, 1],[0, 1, 0]])
6.矩陣轉置
In:a.T
Out:array([[1, 4],[2, 5],[3, 6]])
7.矩陣的逆
矩陣可逆的充要條件是矩陣滿秩。
import numpy as np
import numpy.linalg as lg
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
In:lg.inv(a)
Out:array([[ 3.15251974e+15, -6.30503948e+15, 3.15251974e+15],[ -6.30503948e+15, 1.26100790e+16, -6.30503948e+15],[ 3.15251974e+15, -6.30503948e+15, 3.15251974e+15]])
編程練習
實現向量與標量相加和相乘的的功能。具體要求如下:
函數接受三個參數,然后進行向量與標量之間的運算;
答案代碼如下:
# 引入numpy庫
import numpy as np
# 定義opeadd函數
def opeadd(m,b,n):'''參數:m:是一個數組b:是一個列表n:是列表中的索引你需要做的是 m+b[n]返回值:ret: 一個numpy數組''' ret = 0#********** Begin *********#ret = m+b[n]#********** End **********#return ret
# 定義opemul函數
def opemul(m,b,n):'''參數:m:是一個數組b:是一個列表n:是列表中的索引你需要做的是 m*b[n]返回值:ret: 一個numpy數組'''ret = 0#********** Begin *********#ret=m*b[n]#********** End **********#return ret