常用的线性代数库-numpy
import numpy as np
if __name__ == '__main__':
print(np.__version__)
# python中自带的列表
lst = [1, 2, 3]
# Python的列表本质是一个数组,是用来存放数据的,并不是用来进行科学计算的
lst[0] = "list"
print(lst)
# 声明一个numpy的向量,numpy中只能存放一种数据类型
vec = np.array([1, 2, 3])
print(vec)
# 创建n维度的0向量
vec0 = np.zeros(5)
print(vec0)
# 创建单位向量
print(np.ones(5))
# 创建个N维度,值为M的向量
print(np.full(5, 666))
# 返回向量中有多少个元素
print(vec)
print("vec size = ", vec.size)
# 返回向量中的元素数量使用len的方式
print("vec size = ", len(vec))
# 进行指定顺序的值的查看,可以使用Python内置的索引方式
print(vec[0]) # 第一个数字
print(vec[-1]) # 倒数第一个数字
print(vec[0:2]) # 返回第一个到第二个数字,也就是索引为0和1的值的nparray的对象
# 向量的运算, 向量的加,减,乘
vec2 = np.array([4, 5, 6])
print("{} + {} = {}".format(vec, vec2, vec + vec2))
print("{} - {} = {}".format(vec, vec2, vec - vec2))
print("{} * {} = {}".format(2, vec2, 2 * vec2))
# 向量的点乘, 不是数学上的计算点乘的结果
print("{} * {} = {}".format(vec, vec2, vec * vec2))
# 调用点乘,需要使用dot的方法
print("{}.dot({}) = {}".format(vec, vec2, vec.dot(vec2)))
# 计算向量的模的长度
print(np.linalg.norm(vec))
# 计算vec的单位向量
print(vec / np.linalg.norm(vec))
# 注意这里的向量相除也是不会对0向量进行判断的,所以需要自己去进行判断
网友评论