向量矩阵运算

下面是以numpy举例的,但是几乎都可以转成pytorch 对应的计算。

import numpy as np

向量运算

a = np.array([1,2])
b = np.array([2,1])
# 向量相乘
dot = sum([i*j for i,j in zip(a,b)])
print('非numpy 计算 向量相乘结果: ',dot) 

## 向量相乘numpy 用法
dot1 = np.sum(a*b)
dot2 = (a*b).sum()
dot3 = np.dot(a,b)
dot4 = a.dot(b)
dot5 = b.dot(a)
print('numpy 计算向量相乘结果:    ', dot1, dot2, dot3, dot4, dot5)
非numpy 计算 向量相乘结果:  4
numpy 计算向量相乘结果:     4 4 4 4 4
# 向量长度
la = np.sqrt((a*a).sum())
la2 = np.linalg.norm(a)
print('非库函数: ',la)
print('库函数:  ',la2)
非库函数:  2.23606797749979
库函数:   2.23606797749979
# 两个向量夹角 
# 第一种: 夹角范围是锐角0-90
# 第二种: 夹角范围在0-180

# 向量乘积 A*B = |A|*|B|*cos(angle)
cosangle = np.dot(a,b)/(np.linalg.norm(a) * np.linalg.norm(b))
angle = np.arccos(cosangle)
# 注意:np.arccos(x) 返回的是x的反余弦值,是以弧度表示的
# 将弧度转成角度
angle_theta = np.rad2deg(angle)#库函数形式 弧度转角度
angle_theta2 = angle*180/np.pi #非库函数 弧度转角度
print(cosangle, angle, angle_theta, angle_theta2)

# 其他弧度转角度 vs 角度转弧度   弧度:radian, 角度angle degree
r = np.deg2rad(45)
d = np.rad2deg(np.pi/4)
print('45角度转弧度:', r, '  pi/4弧度转角度:', d)
0.7999999999999998 0.6435011087932847 36.86989764584404 36.86989764584404
45角度转弧度: 0.7853981633974483   pi/4弧度转角度: 45.0


未完待续

python 操作
其他:
numpy 向量运算
numpy 操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值