文章目录
- 前言
- 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