没有合适的资源?快使用搜索试试~ 我知道了~
内外积代数运算及python,tensorflow,matlab语句的实现
4 下载量 50 浏览量
2020-12-21
22:35:59
上传
评论 1
收藏 68KB PDF 举报
温馨提示
试读
3页
内外积代数运算及python,tensorflow,matlab语句的实现 在进行数学运算的时候经常会碰到向量以及矩阵的乘法,如果对符号和概念没有搞清楚的话经常会出现错误,尤其是将数学表达式代码化的时候,如果搞不清数据的维度以及做的是哪种乘法的话也会出现一些无法避免的错误,轻则代码量较小,代码跑几秒提示错误,然后改正。重则成百上千行的代码反复尝试多次不知道错在哪里,浪费大量不必要的时间,我也是经常遇到向量以及矩阵的运算,一次搞清楚事后不复习又忘记,然后再查再忘,今天就索性自己写一篇博客,将常见的内积和外积的代数运算做一下梳理,如果能给碰到同样问题的朋友提供一些参考那就再好不过了。因为matla
资源推荐
资源详情
资源评论
内外积代数运算及内外积代数运算及python,tensorflow,matlab语句的实现语句的实现
内外积代数运算及内外积代数运算及python,tensorflow,matlab语句的实现语句的实现
在进行数学运算的时候经常会碰到向量以及矩阵的乘法,如果对符号和概念没有搞清楚的话经常会出现错误,尤其是将数学表
达式代码化的时候,如果搞不清数据的维度以及做的是哪种乘法的话也会出现一些无法避免的错误,轻则代码量较小,代码跑
几秒提示错误,然后改正。重则成百上千行的代码反复尝试多次不知道错在哪里,浪费大量不必要的时间,我也是经常遇到向
量以及矩阵的运算,一次搞清楚事后不复习又忘记,然后再查再忘,今天就索性自己写一篇博客,将常见的内积和外积的代数
运算做一下梳理,如果能给碰到同样问题的朋友提供一些参考那就再好不过了。因为matlab作为数据处理与建模的一个很强大
的工具经常被使用,可能也会偶尔遇到matlab的数学模型与python之间相互转换的过程,因此我就同时列出matlab和python的
实现。
向量内积向量内积
所谓的内积(点积,数量积),代数意义总的来说就是向量对应位置的数做乘法然后求和,得到结果是一个数。
比如说3维空间中有两个向量a=(x1,y1,z1)和b=(x2,y2,z2)两个向量a =(x1,y1,z1)和b=(x2,y2,z2)两个向量a=(x1,y1,z1)和b=
(x2,y2,z2),
则向量a・b=x1∗x2+y1∗y2+z1∗z2a・b=x1*x2+y1*y2+z1*z2a・b=x1∗x2+y1∗y2+z1∗z2
矩阵内积矩阵内积
矩阵内积与向量内积同理,即两个同维度的矩阵对应位置上的数相乘(不过不求行列式),得到相同维度的矩阵的运算过程。
向量外积向量外积
所谓的外积(叉积,向量积),概括地说,其运算结果是一个向量而不是一个标量。并且两个向量的外积与这两个向量组成的
坐标平面垂直。
比如说3维空间中有两个向量a=(x1,y1,z1a =(x1,y1,z1a=(x1,y1,z1)和b=(x2,y2,z2)b=(x2,y2,z2)b=(x2,y2,z2),
则向量a×b=(x1,y1,z1)×(x2,y2,z2)=(y1z2−y2z1,z1x2−z2x1,x1y2−x2y1)a×b=(x1,y1,z1)×(x2,y2,z2)=(y1z2-y2z1,z1x2-
z2x1,x1y2-x2y1)a×b=(x1,y1,z1)×(x2,y2,z2)=(y1z2−y2z1,z1x2−z2x1,x1y2−x2y1)
矩阵外积矩阵外积
矩阵的外积,从代数运算上来说,就是大家在学线性代数的时候学的最基础的矩阵的叉乘,如[m∗n][m*n][m∗n]维的A矩阵叉
乘[n∗t][n*t][n∗t]维的B矩阵,即A×B得到[m∗t][m*t][m∗t]维的C矩阵。
内外积的具体代码实现如下:内外积的具体代码实现如下:
法一:用法一:用python中列表的形式来创建矩阵中列表的形式来创建矩阵/向量向量
'''
方法一:
用列表的形式创建矩阵/向量
用numpy的np.dot()函数计算行向量内外积
'''
import numpy as np
vector_a = [1,2,3] # 1行3列的行向量
vector_b = [2,3,4]
matrix_a = [[1,2], # 2行2列的2维矩阵
[3,4]]
matrix_b = [[2,3],
[4,5]] # in_product_1:行向量a和行向量b的内积
in_product_1 = np.dot(vector_a,vector_b)
# in_product_2:矩阵A和矩阵B的内积
in_product_2 = np.multiply(matrix_a,matrix_b)
print("in_product_1:",in_product_1)
print("in_product_2:",in_product_2)
# out_product_1:向量a和向量b的外积
out_product_1 = np.cross(vector_a,vector_b)
# out_product_2:矩阵A和矩阵B的外积
out_product_2 = np.dot(matrix_a,matrix_b)
print("out_product_1:",out_product_1)
print("out_product_2:",out_product_2)
python输出结果为
in_product_1:
20
资源评论
weixin_38628953
- 粉丝: 6
- 资源: 927
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功