向量和矩阵的点乘、叉乘

news2024/11/29 10:51:50

# 本科学习的全都还回去了-_-

一、向量

(1)点乘

向量点积, 𝑎⋅𝑏=𝑐 ,符号为 ⋅ ,要求向量长度相同,是两个向量之间的点乘运算,结果是一个标量。又称:点乘、数量积、标量积、scalar product、projection product等。

a · b = a₁b₁ + a₂b₂ + ... + aᵢbᵢ

在Python中,可以使用NumPy库来计算向量的点乘:

示例代码


	import numpy as np 

	
	# 定义两个向量 

	a = np.array([1, 2, 3]) 

	b = np.array([4, 5, 6]) 


	# 计算点乘 

	dot_product = np.dot(a, b) 

	print("点乘结果:", dot_product)

 

(2)叉乘

与向量点乘不同,叉乘仅适用于三维向量,向量叉乘的运算结果是一个向量而不是一个标量。两个向量叉乘所得向量与这两个向量垂直,如下图所示。

示例代码:
import numpy as np 


# 定义两个三维向量 
a = np.array([1, 2, 3]) 
b = np.array([4, 5, 6]) 


# 计算叉乘(注意:NumPy的cross函数仅适用于三维向量) 
cross_product = np.cross(a, b) 
print("叉乘结果:", cross_product)

 

二、矩阵

(1)点乘

矩阵的点乘(也称为元素乘法或哈达玛乘积)是两个相同大小矩阵之间的一种运算,其结果是一个与这两个矩阵大小相同的新矩阵,其中每个元素都是原矩阵对应位置元素的乘积

ps: 向量可以看作是一个列矩阵或行矩阵,

实例代码:

A = np.array([[1],[2]])
B = np.array([[1,2,4],[1,4,5]])
C = np.array([[1,2,3],[4,5,6]])
 
X = A*B
array([[ 1,  2,  4],
       [ 2,  8, 10]])
 
X == np.multiply(A,B)
array([[ True,  True,  True],
       [ True,  True,  True]])
 
Y = B*C
array([[ 1,  4, 12],
       [ 4, 20, 30]])
Y == np.multiply(B,C)
array([[ True,  True,  True],
       [ True,  True,  True]])

(2)叉乘

矩阵乘法是两个矩阵之间的一种运算,其结果是一个新矩阵。对于矩阵A(m×n)和矩阵B(n×p),只有当A的列数等于B的行数时,才能进行乘法运算,结果矩阵C的大小为m×p

实例代码:

A = np.array([[1,2],[3,4],[1,5]])
B = np.array([[1,2],[2,1]])
 
A@B
array([[ 5,  4],
       [11, 10],
       [11,  7]])
 
A@B  == np.dot(A,B)
array([[ True,  True],
       [ True,  True],
       [ True,  True]])

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1851077.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在 Equinix 上使用 MinIO 控制云数据成本

公有云改变了公司构建、部署和管理应用程序的方式,主要是向好的方向发展。在您刚开始使用时,公有云会提供基础架构、服务、支持和维护,以便快速启动和运行。它以几乎无限的方式提供最终的可伸缩性,无论应用程序的负载如何&#xf…

ROS中的TF是什么

在ROS (Robot Operating System) 中,tf::TransformBroadcaster 是一个用于发布坐标变换信息的重要类,尤其在处理机器人定位和导航数据时非常常见。tf::TransformBroadcaster 对象允许你广播从一个坐标系到另一个坐标系的变换关系,这对于多传感…

c语言 课设 atm

功能需求分析 ATM功能主界面:显示所能进行的操作,用户可多次选择。 ATM注册界面:输入用户名,用户密码,确认密码,密码长度不是六位重新输入,两次密码不一致重新输入,输入账号。密码隐藏,实现退格换行对*无影响。多人注册 ATM登录界面:输入账号,密码,三次以内输入…

bug记录——C语言中运算符前假后面不执行

A&&B A为真&#xff0c;才会判断B&#xff0c; 所以如果B访问越界的情况下必有A为假&#xff0c;那么代码是正确的 像这里&#xff0c;当child 1 > n时&#xff0c;a[child 1]越界访问&#xff0c; 但由于&&前面判断了child 1 < n为假&#xff0c;所以…

荒野大镖客2启动找不到emp.dll的7个修复方法,轻松解决dll丢失的办法

一、emp.dll文件丢失的常见原因 安装或更新问题&#xff1a;在软件或游戏的安装过程中&#xff0c;可能由于安装程序未能正确复制文件到目标目录&#xff0c;或在更新过程中文件被意外覆盖或删除&#xff0c;导致emp.dll文件丢失。 安全软件误删&#xff1a;某些安全软件可能…

跌倒识别:守护公共安全的AI技术应用场景-免费API调用

随着科技的不断进步&#xff0c;人工智能在各个领域的应用日益广泛&#xff0c;其中在公共安全领域&#xff0c;智能跌倒识别系统正逐渐成为守护人们安全的重要工具。本文将分享智能跌倒识别系统在不同场景下的应用及其重要性。 产品在线体验地址-API调用或本地化部署 AI算法模…

C#实现音乐在线播放和下载——Windows程序设计作业3

1. 作业内容 编写一个C#程序&#xff0c;在作业二实现的本地播放功能的基础上&#xff0c;新增在线播放和在线下载功能&#xff0c;作业二博客地址&#xff1a;C#实现简单音乐文件解析播放——Windows程序设计作业2 2. 架构选择 考虑到需求中的界面友好和跨版本兼容性&#xf…

【Linux】基础IO_3

文章目录 六、基础I/O3. 软硬链接4. 动静态库 未完待续 六、基础I/O 3. 软硬链接 使用 ln 就可以创建链接&#xff0c;使用 ln -s 可以创建软链接&#xff0c;直接使用 ln 则是硬链接。 我们对硬链接进行测试一下&#xff1a; 根据测试&#xff0c;我们知道了 硬链接就像一…

Django框架数据库ORM查询操作

Django框架在生成数据库的models模型文件后&#xff0c;旧可以在应用中通过ORM来操作数据库了。今天抽空试了下查询语句。以下是常用的查询语句。 以下查询需要引入django的Sum&#xff0c;Count&#xff0c;Q模块 from django.db.models import Sum,Count,Q 导入生成的mode…

【FreeRTOS】删除任务 用遥控器控制音乐

参考《FreeRTOS入门与工程实践(基于DshanMCU-103).pdf》 学习视频&#xff1a;【FreeRTOS入门与工程实践 --由浅入深带你学习FreeRTOS&#xff08;FreeRTOS教程 基于STM32&#xff0c;以实际项目为导向&#xff09;】 【精准空降到 01:22】 https://www.bilibili.com/video/BV1…

App Store苹果应用商店如何退款

这几天想在App Store找一款录音可以转文字的app&#xff0c;结果找到后需要订阅才能转文字&#xff1b;最短1个月38元&#xff0c;购买之后&#xff0c;试用了功能&#xff0c;发现转出来的文字差强人意&#xff0c;且好多语音漏过了没转出来&#xff1b;于是决定取消订阅&…

ArkUI部分案例笔记——padding,space

基础的构建 组件分类&#xff1a; 容器组件&#xff1a;像Column&#xff0c;Row这种组件就是容器组件一般就来控制行和列的就是容器组件 基础组件&#xff1a;Text(文本组件)&#xff0c;像这种用来有一定功能的就是基础组件 注意&#xff1a;一个build只能有一个根容器组件…

8.12 矢量图层面要素单一符号使用五(栅格数据填充)

文章目录 前言栅格数据填充&#xff08;Raster image fill&#xff09;QGis设置面符号为栅格数据填充&#xff08;Raster image fill&#xff09;二次开发代码实现栅格数据填充&#xff08;Raster image fill&#xff09; 总结 前言 本章介绍矢量图层线要素单一符号中使用栅格…

XXL-Job实战(千万级短信推送实战)

上回我们介绍了传统定时任务与分布式任务调度的差异以及它们的优缺点&#xff0c;本节我们使用Xxl-job来实现相关需求。 首先我们需要下载Xxl-job对应的服务端&#xff1b;下面是Xxl-job的github地址&#xff1a; Releases xuxueli/xxl-job (github.com) 版本我们选择V-2.3…

【iOS】编译二进制文件说明

编译二进制文件说明 如何生成文件路径文件说明第一部分&#xff1a;.o文件第二部分&#xff1a;link第三部分&#xff1a;Segment第四部分&#xff1a;Symbol 如何生成 使用Xcode进行编译 &#xff0c;会生成二进制相关文件&#xff0c;可以更详细看产物的布局 项目Target -&…

Python统计实战:一题搞定多元线性回归、共线性、相对重要性分析

为了解决特定问题而进行的学习是提高效率的最佳途径。这种方法能够使我们专注于最相关的知识和技能&#xff0c;从而更快地掌握解决问题所需的能力。 &#xff08;以下练习题来源于《统计学—基于Python》。联系获取完整数据和Python源代码文件。&#xff09; 练习题 为了分析…

自动控制原理出射角计算

背景&#xff1a;突然发现自己出射角不会算 被减数是零点到极点的角度&#xff0c;减数是极点到极点的角度

十大经典排序算法——插入排序与希尔排序(超详解)

一、插入排序 1.基本思想 直接插入排序是一种简单的插入排序法&#xff0c;基本思想是&#xff1a;把待排序的记录按其数值的大小逐个插入到一个已经排好序的有序序列中&#xff0c;直到所有的记录插入完为止&#xff0c;得到一个新的有序序列。 2.直接插入排序 当插入第 e…

NSIS 入门教程 (二)

引言 在教程的第一部分中创建第一个安装程序后,我们还将需要删除其安装区段中已安装的文件。我们还将展示更多安装引导页面&#xff0c;让用户有机会选择安装的某些部分。 卸载 创建一个安装程序.可以干净的卸载,不仅是一种礼貌&#xff0c;对于程序的开发与发行方也有很…

【鸿蒙】 模拟器运⾏

【鸿蒙】HUAWEI DevEco Studio安装-CSDN博客 【鸿蒙】创建第⼀个鸿蒙项⽬-CSDN博客 点击 Tools 菜单下的 Device Manager 点击 Install &#xff0c;安装模拟器 下载模拟器相关的SDK&#xff0c;点击 Finish 选择安装⽬录&#xff0c;点击 New Emulator 选择设备类型&#…