4-1 Python学习笔记1_向量、矩阵及数组定义
1.学习环境
python安装:网络上都有相应的安装教程,安装完之后打开cmd命令查看python版本(直接输入python即可),我的是3.7.3
安装完后需要一个编译器,可以选择IDE等,本文用的是VS Code
打开后工具栏新建文件夹,再新建python文件即可编写python程序
设备准备充分后,还需要下载numpy包。
numpy安装办法参考https://numpy.org/(用pip install numpy 或者coda install numpy。pip相关信息具体参考https://pypi.org/project/pip/).
2.向量、矩阵、数组的创建
1.创建向量
import numpy as np
vector_row=np.array([1,2,3]) #创建行向量
vector_column=np.array([[1],[2],[3]])#创建列向量
输出结果(用print函数输出vector_row,vector_column):
2. 创建矩阵
matrix_object=np.mat([1,2],[1,2],[1,2])
输出结果
3.其他操作
知道了向量与矩阵的操作后,剩余操作与MATLAB同理:
- 稀疏矩阵:sparse.csr_matrix()
- 选择矩阵的元素、行、列:与MATLAB同 [要选择的位置]
- 矩阵的维数、元素个数:shape、size
- 矩阵的维数:np.ndim
- 最大最小值,均值,方差,标准差:np.(max,min,mean,var,std)其中对行操作axis=0,列axis=1.
- 重排:reshape(注:按行重排)
- 转置: .T
- 拉直(重排成一行):.flatten() or reshape(1,-1)
- 矩阵的秩:np.linalg.matix_rank()
- 矩阵的行列式:np.linalg.det()
- 矩阵的迹:.trace()
- 矩阵的特征值与特征向量:eigenvalues,eigenvetors=np.linalg.eig(matrix) 注:只能处理方阵
- 向量内积:.dot or @
- 矩阵加减:add(A,B),subtract(A,B) or +,-
- 矩阵乘积:dot,@, or *
- 矩阵的逆:inv
- 生成范围内的行向量:np.random.randint(low,up,dim)
部分代码:
import numpy as np
from scipy import sparse
vector_row=np.array([1,2,3]) #创建行向量
vector_column=np.array([[1],[2],[3]])#创建列向量
matrix_object=np.mat([[1,-1,3],[1,1,6],[3,8,9]])#创建3行2列矩阵
matrix=np.mat([[0,0],[0,2],[1,0]])#创建3行2列稀疏矩阵
matrix_sparse=sparse.csr_matrix(matrix)
#matrix_object.reshape(1,-1)
a=np.linalg.matrix_rank(matrix_object)
eigenvalues,eigenvetors=np.linalg.eig(matrix_object)
matrix_object1=np.mat([[1,-1,3],[1,1,6],[3,8,9]])
#print(matrix_object*matrix_object1)
a1=np.random.randint(-1,1,3)
print(a1)